summaryrefslogtreecommitdiff
path: root/libunwind
diff options
context:
space:
mode:
authorNikolas Klauser <nikolasklauser@berlin.de>2023-02-17 11:31:41 +0100
committerNikolas Klauser <nikolasklauser@berlin.de>2023-03-17 00:40:59 +0100
commita7aade1f36eb60161235b66bca46db12e5326a0c (patch)
tree06731b1487f7b1caceedb37cbf01f53594c3679b /libunwind
parent88eb4cbbfe7ded9556131c3bd4228ee9e9d01b4d (diff)
downloadllvm-a7aade1f36eb60161235b66bca46db12e5326a0c.tar.gz
[runtimes] Synchronize warnings flags between libc++/libc++abi/libunwind
This mostly keeps the same warning flags. The most important exceptions are `-Wpedantic` and `-Wconversion`, which are now removed from libc++abi and libunwind. Reviewed By: ldionne, #libunwind, #libc, #libc_abi Spies: mikhail.ramalho, phosek, libcxx-commits Differential Revision: https://reviews.llvm.org/D144252
Diffstat (limited to 'libunwind')
-rw-r--r--libunwind/CMakeLists.txt34
-rw-r--r--libunwind/src/CMakeLists.txt4
2 files changed, 4 insertions, 34 deletions
diff --git a/libunwind/CMakeLists.txt b/libunwind/CMakeLists.txt
index f82fa0a70eff..647b1c41955b 100644
--- a/libunwind/CMakeLists.txt
+++ b/libunwind/CMakeLists.txt
@@ -169,28 +169,6 @@ if (LIBUNWIND_ENABLE_CET)
endif()
endif()
-# Get warning flags
-add_compile_flags_if_supported(-W)
-add_compile_flags_if_supported(-Wall)
-add_compile_flags_if_supported(-Wchar-subscripts)
-add_compile_flags_if_supported(-Wconversion)
-add_compile_flags_if_supported(-Wmismatched-tags)
-add_compile_flags_if_supported(-Wmissing-braces)
-add_compile_flags_if_supported(-Wnewline-eof)
-add_compile_flags_if_supported(-Wno-unused-function)
-add_compile_flags_if_supported(-Wshadow)
-add_compile_flags_if_supported(-Wshorten-64-to-32)
-add_compile_flags_if_supported(-Wsign-compare)
-add_compile_flags_if_supported(-Wsign-conversion)
-add_compile_flags_if_supported(-Wstrict-aliasing=2)
-add_compile_flags_if_supported(-Wstrict-overflow=4)
-add_compile_flags_if_supported(-Wunused-parameter)
-add_compile_flags_if_supported(-Wunused-variable)
-add_compile_flags_if_supported(-Wwrite-strings)
-add_compile_flags_if_supported(-Wundef)
-
-add_compile_flags_if_supported(-Wno-suggest-override)
-
if (WIN32)
# The headers lack matching dllexport attributes (_LIBUNWIND_EXPORT);
# silence the warning instead of cluttering the headers (which aren't
@@ -199,18 +177,6 @@ if (WIN32)
add_compile_flags_if_supported(-Wno-dll-attribute-on-redeclaration)
endif()
-if (LIBUNWIND_ENABLE_WERROR)
- add_compile_flags_if_supported(-Werror)
- add_compile_flags_if_supported(-WX)
-else()
- add_compile_flags_if_supported(-Wno-error)
- add_compile_flags_if_supported(-WX-)
-endif()
-
-if (LIBUNWIND_ENABLE_PEDANTIC)
- add_compile_flags_if_supported(-pedantic)
-endif()
-
# Get feature flags.
# Exceptions
# Catches C++ exceptions only and tells the compiler to assume that extern C
diff --git a/libunwind/src/CMakeLists.txt b/libunwind/src/CMakeLists.txt
index df32e53d69e6..cced6b4cf9e8 100644
--- a/libunwind/src/CMakeLists.txt
+++ b/libunwind/src/CMakeLists.txt
@@ -135,8 +135,11 @@ set_property(SOURCE ${LIBUNWIND_C_SOURCES}
# ease, but does not rely on C++ at runtime.
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
+include(WarningFlags)
+
# Build the shared library.
add_library(unwind_shared_objects OBJECT EXCLUDE_FROM_ALL ${LIBUNWIND_SOURCES} ${LIBUNWIND_HEADERS})
+cxx_add_warning_flags(unwind_shared_objects ${LIBUNWIND_ENABLE_WERROR} ${LIBUNWIND_ENABLE_PEDANTIC})
if(CMAKE_C_COMPILER_ID STREQUAL MSVC)
target_compile_options(unwind_shared_objects PRIVATE /GR-)
else()
@@ -174,6 +177,7 @@ endif()
# Build the static library.
add_library(unwind_static_objects OBJECT EXCLUDE_FROM_ALL ${LIBUNWIND_SOURCES} ${LIBUNWIND_HEADERS})
+cxx_add_warning_flags(unwind_static_objects ${LIBUNWIND_ENABLE_WERROR} ${LIBUNWIND_ENABLE_PEDANTIC})
if(CMAKE_C_COMPILER_ID STREQUAL MSVC)
target_compile_options(unwind_static_objects PRIVATE /GR-)
else()