]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: fail on unknown attribute
authorKefu Chai <kchai@redhat.com>
Fri, 6 Aug 2021 09:26:16 +0000 (17:26 +0800)
committerKefu Chai <tchaikov@gmail.com>
Wed, 31 Aug 2022 12:36:53 +0000 (20:36 +0800)
on Clang, the option for detecting unknown attribute is
-Wunknown-attributes, so "-Wattributes -Werror" does not fail the test
when the C compiler is Clang.

in this change, we just turn all warnings into errors.
this should fail the test if the compiler does not understand
`__attribute__((__symver__ ...))`

Fixes: https://tracker.ceph.com/issues/40060
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 08179fd9f399b024acbe135e4eb6655126927f30)

cmake/modules/CephChecks.cmake

index 419edc2dc66700769d4aac59e8b76eb659b8598d..701ecb47c4c988b6f4dee904d8bc2991fd1510e6 100644 (file)
@@ -147,7 +147,7 @@ endif(NOT CMAKE_CROSSCOMPILING)
 set(version_script_source "v1 { }; v2 { } v1;")
 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/version_script.txt "${version_script_source}")
 cmake_push_check_state(RESET)
-set(CMAKE_REQUIRED_FLAGS "-Werror=attribute -Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/version_script.txt")
+set(CMAKE_REQUIRED_FLAGS "-Werror -Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/version_script.txt")
 check_c_source_compiles("
 __attribute__((__symver__ (\"func@v1\"))) void func_v1() {};
 __attribute__((__symver__ (\"func@v2\"))) void func_v2() {};