]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: fail on unknown attribute 42698/head
authorKefu Chai <kchai@redhat.com>
Fri, 6 Aug 2021 09:26:16 +0000 (17:26 +0800)
committerKefu Chai <kchai@redhat.com>
Fri, 6 Aug 2021 10:01:47 +0000 (18:01 +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>
cmake/modules/CephChecks.cmake

index 01e1c7695e5c746a6141fc13d05ffc25f29e961a..fcde99f4b07e92ffc83e9b33af08d59f4dc65661 100644 (file)
@@ -148,7 +148,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() {};