fix(clang): switch to prebuilts 12.0.5 toolchain
Update prebuilts submodule hash and shared includes path.
Update third_party/googletest submodule hash to fix a build error with
clang12.
Fix make format after the switch to new clang version.
Change-Id: Ib0fae5c612c1e8e60a02b2d6e8b09d51f48f53d2
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
diff --git a/build/toolchain/BUILD.gn b/build/toolchain/BUILD.gn
index 13843e4..beb1f95 100644
--- a/build/toolchain/BUILD.gn
+++ b/build/toolchain/BUILD.gn
@@ -20,14 +20,14 @@
extra_cflags =
"-nostdinc -isystem" +
rebase_path("//prebuilts/linux-aarch64/musl/include") + " -isystem" +
- rebase_path("//prebuilts/linux-x64/clang/lib64/clang/9.0.8/include") +
+ rebase_path("//prebuilts/linux-x64/clang/lib64/clang/12.0.5/include") +
" -isystem" + rebase_path("//inc/system")
extra_defines = "-D_LIBCPP_HAS_MUSL_LIBC=1 -D_GNU_SOURCE=1"
extra_ldflags = "-no-pie -lc --library-path=" +
rebase_path("//prebuilts/linux-aarch64/musl/lib/") + " " +
rebase_path("//prebuilts/linux-aarch64/musl/lib/crt1.o") +
" " + rebase_path(
- "//prebuilts/linux-x64/clang/lib64/clang/9.0.8/lib/linux/libclang_rt.builtins-aarch64-android.a")
+ "//prebuilts/linux-x64/clang/lib64/clang/12.0.5/lib/linux/libclang_rt.builtins-aarch64-android.a")
toolchain_args = {
use_platform = true
plat_arch = "fake"
diff --git a/build/toolchain/embedded.gni b/build/toolchain/embedded.gni
index 3c3164e..f422efb 100644
--- a/build/toolchain/embedded.gni
+++ b/build/toolchain/embedded.gni
@@ -122,7 +122,7 @@
# from the Android prebuilt Clang.
extra_cflags +=
" -target ${invoker.target} -fcolor-diagnostics -nostdinc -isystem" +
- rebase_path("//prebuilts/linux-x64/clang/lib64/clang/9.0.8/include") +
+ rebase_path("//prebuilts/linux-x64/clang/lib64/clang/12.0.5/include") +
" -isystem" + rebase_path("//inc/system")
extra_ldflags += " -O2 --icf=all --fatal-warnings --color-diagnostics"
diff --git a/prebuilts b/prebuilts
index 07c3246..f4ef2d0 160000
--- a/prebuilts
+++ b/prebuilts
@@ -1 +1 @@
-Subproject commit 07c3246c6f9cf9e7faf344ed396d9c90fc2ca32e
+Subproject commit f4ef2d0d9dbf6f696386b786eb60884a933685b0
diff --git a/test/inc/test/hftest_impl.h b/test/inc/test/hftest_impl.h
index 86d0962..ff388e9 100644
--- a/test/inc/test/hftest_impl.h
+++ b/test/inc/test/hftest_impl.h
@@ -63,65 +63,65 @@
hftest_test_ctor_##suite_name##_##test_name
/* Register test functions. */
-#define HFTEST_SET_UP(suite_name) \
- static void HFTEST_SET_UP_FN(suite_name)(void); \
- const struct hftest_test __attribute__((used)) \
- __attribute__((section(HFTEST_SET_UP_SECTION(suite_name)))) \
- HFTEST_SET_UP_STRUCT(suite_name) = { \
- .suite = #suite_name, \
- .kind = HFTEST_KIND_SET_UP, \
- .fn = HFTEST_SET_UP_FN(suite_name), \
- }; \
- static void __attribute__((constructor)) \
- HFTEST_SET_UP_CONSTRUCTOR(suite_name)(void) \
- { \
- hftest_register(HFTEST_SET_UP_STRUCT(suite_name)); \
- } \
+#define HFTEST_SET_UP(suite_name) \
+ static void HFTEST_SET_UP_FN(suite_name)(void); \
+ const struct hftest_test __attribute__((used)) \
+ __attribute__((section(HFTEST_SET_UP_SECTION(suite_name)))) \
+ HFTEST_SET_UP_STRUCT(suite_name) = { \
+ .suite = #suite_name, \
+ .kind = HFTEST_KIND_SET_UP, \
+ .fn = HFTEST_SET_UP_FN(suite_name), \
+ }; \
+ static void __attribute__((constructor)) \
+ HFTEST_SET_UP_CONSTRUCTOR(suite_name)(void) \
+ { \
+ hftest_register(HFTEST_SET_UP_STRUCT(suite_name)); \
+ } \
static void HFTEST_SET_UP_FN(suite_name)(void)
-#define HFTEST_TEAR_DOWN(suite_name) \
- static void HFTEST_TEAR_DOWN_FN(suite_name)(void); \
- const struct hftest_test __attribute__((used)) \
- __attribute__((section(HFTEST_TEAR_DOWN_SECTION(suite_name)))) \
- HFTEST_TEAR_DOWN_STRUCT(suite_name) = { \
- .suite = #suite_name, \
- .kind = HFTEST_KIND_TEAR_DOWN, \
- .fn = HFTEST_TEAR_DOWN_FN(suite_name), \
- }; \
- static void __attribute__((constructor)) \
- HFTEST_TEAR_DOWN_CONSTRUCTOR(suite_name)(void) \
- { \
- hftest_register(HFTEST_TEAR_DOWN_STRUCT(suite_name)); \
- } \
+#define HFTEST_TEAR_DOWN(suite_name) \
+ static void HFTEST_TEAR_DOWN_FN(suite_name)(void); \
+ const struct hftest_test __attribute__((used)) \
+ __attribute__((section(HFTEST_TEAR_DOWN_SECTION(suite_name)))) \
+ HFTEST_TEAR_DOWN_STRUCT(suite_name) = { \
+ .suite = #suite_name, \
+ .kind = HFTEST_KIND_TEAR_DOWN, \
+ .fn = HFTEST_TEAR_DOWN_FN(suite_name), \
+ }; \
+ static void __attribute__((constructor)) \
+ HFTEST_TEAR_DOWN_CONSTRUCTOR(suite_name)(void) \
+ { \
+ hftest_register(HFTEST_TEAR_DOWN_STRUCT(suite_name)); \
+ } \
static void HFTEST_TEAR_DOWN_FN(suite_name)(void)
-#define HFTEST_TEST(suite_name, test_name, long_running) \
- static void HFTEST_TEST_FN(suite_name, test_name)(void); \
- const struct hftest_test __attribute__((used)) __attribute__( \
- (section(HFTEST_TEST_SECTION(suite_name, test_name)))) \
- HFTEST_TEST_STRUCT(suite_name, test_name) = { \
- .suite = #suite_name, \
- .kind = HFTEST_KIND_TEST, \
- .name = #test_name, \
- .is_long_running = long_running, \
- .fn = HFTEST_TEST_FN(suite_name, test_name), \
- }; \
- static void __attribute__((constructor)) \
- HFTEST_TEST_CONSTRUCTOR(suite_name, test_name)(void) \
- { \
- hftest_register(HFTEST_TEST_STRUCT(suite_name, test_name)); \
- } \
+#define HFTEST_TEST(suite_name, test_name, long_running) \
+ static void HFTEST_TEST_FN(suite_name, test_name)(void); \
+ const struct hftest_test __attribute__((used)) \
+ __attribute__((section(HFTEST_TEST_SECTION(suite_name, test_name)))) \
+ HFTEST_TEST_STRUCT(suite_name, test_name) = { \
+ .suite = #suite_name, \
+ .kind = HFTEST_KIND_TEST, \
+ .name = #test_name, \
+ .is_long_running = long_running, \
+ .fn = HFTEST_TEST_FN(suite_name, test_name), \
+ }; \
+ static void __attribute__((constructor)) \
+ HFTEST_TEST_CONSTRUCTOR(suite_name, test_name)(void) \
+ { \
+ hftest_register(HFTEST_TEST_STRUCT(suite_name, test_name)); \
+ } \
static void HFTEST_TEST_FN(suite_name, test_name)(void)
-#define HFTEST_TEST_SERVICE(service_name) \
- static void HFTEST_SERVICE_FN(service_name)(void); \
- const struct hftest_test __attribute__((used)) \
- __attribute__((section(HFTEST_SERVICE_SECTION(service_name)))) \
- HFTEST_SERVICE_STRUCT(service_name) = { \
- .kind = HFTEST_KIND_SERVICE, \
- .name = #service_name, \
- .fn = HFTEST_SERVICE_FN(service_name), \
- }; \
+#define HFTEST_TEST_SERVICE(service_name) \
+ static void HFTEST_SERVICE_FN(service_name)(void); \
+ const struct hftest_test __attribute__((used)) \
+ __attribute__((section(HFTEST_SERVICE_SECTION(service_name)))) \
+ HFTEST_SERVICE_STRUCT(service_name) = { \
+ .kind = HFTEST_KIND_SERVICE, \
+ .name = #service_name, \
+ .fn = HFTEST_SERVICE_FN(service_name), \
+ }; \
static void HFTEST_SERVICE_FN(service_name)(void)
/* Context for tests. */
diff --git a/third_party/googletest b/third_party/googletest
index a406491..78d0519 160000
--- a/third_party/googletest
+++ b/third_party/googletest
@@ -1 +1 @@
-Subproject commit a4064912394824063c26b1ed9bc7e8d836a7561e
+Subproject commit 78d0519f7b77d585974efcec49278ca7c767a5cb