diff options
author | Dan Albert <danalbert@google.com> | 2014-07-10 22:23:03 +0000 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2014-07-10 22:23:03 +0000 |
commit | f1982198cace0db98a24e75867fff51fcbcdd4d7 (patch) | |
tree | 190cb915e964b72868dd27aa78ec257fa2c3c018 | |
parent | fd961bd8cdb57b57e8e34779a2b44db40cf4fb30 (diff) |
Make cmake cxxflags match those in lib/buildit.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@212768 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | CMakeLists.txt | 26 | ||||
-rw-r--r-- | cmake/config-ix.cmake | 17 |
2 files changed, 32 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 1b39f50..e6bef80 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -158,18 +158,27 @@ if (NOT LIBCXXABI_HAS_STDCXX11_FLAG) endif() list(APPEND LIBCXXABI_CXX_REQUIRED_FLAGS -std=c++11) +append_if(LIBCXXABI_CXX_REQUIRED_FLAGS LIBCXXABI_HAS_WERROR_FLAG -Werror=return-type) # Get warning flags -if (NOT MSVC) - append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WALL_FLAG -Wall) - append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WNO_UNUSED_FUNCTION_FLAG -Wno-unused-function) - list(APPEND LIBCXXABI_CXX_REQUIRED_FLAGS -Werror=return-type) -endif() - append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_W_FLAG -W) -append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WNO_UNUSED_PARAMETER_FLAG -Wno-unused-parameter) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WALL_FLAG -Wall) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WCHAR_SUBSCRIPTS_FLAG -Wchar-subscripts) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WCONVERSION_FLAG -Wconversion) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WMISMATCHED_TAGS_FLAG -Wmismatched-tags) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WMISSING_BRACES_FLAG -Wmissing-braces) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WNEWLINE_EOF_FLAG -Wnewline-eof) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WNO_UNUSED_FUNCTION_FLAG -Wno-unused-function) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WSHADOW_FLAG -Wshadow) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WSHORTEN_64_TO_32_FLAG -Wshorten-64-to-32) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WSIGN_COMPARE_FLAG -Wsign-compare) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WSIGN_CONVERSION_FLAG -Wsign-conversion) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WSTRICT_ALIASING_FLAG -Wstrict-aliasing=2) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WSTRICT_OVERFLOW_FLAG -Wstrict-overflow=4) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WUNUSED_PARAMETER_FLAG -Wunused-parameter) +append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WUNUSED_VARIABLE_FLAG -Wunused-variable) append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WWRITE_STRINGS_FLAG -Wwrite-strings) -append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WNO_LONG_LONG_FLAG -Wno-long-long) + if (LIBCXXABI_ENABLE_WERROR) append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WERROR_FLAG -Werror) append_if(LIBCXXABI_CXX_WARNING_FLAGS LIBCXXABI_HAS_WX_FLAG -WX) @@ -185,6 +194,7 @@ endif() # Exceptions # Catches C++ exceptions only and tells the compiler to assume that extern C # functions never throw a C++ exception. +append_if(LIBCXXABI_CXX_FEATURE_FLAGS LIBCXXABI_HAS_FSTRICT_ALIASING_FLAG -fstrict-aliasing) append_if(LIBCXXABI_CXX_FEATURE_FLAGS LIBCXXABI_HAS_EHSC_FLAG -EHsc) # Assert diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake index 96da3f5..f9babd3 100644 --- a/cmake/config-ix.cmake +++ b/cmake/config-ix.cmake @@ -4,18 +4,29 @@ include(CheckCXXCompilerFlag) # Check compiler flags check_cxx_compiler_flag(-std=c++11 LIBCXXABI_HAS_STDCXX11_FLAG) check_cxx_compiler_flag(-fPIC LIBCXXABI_HAS_FPIC_FLAG) +check_cxx_compiler_flag(-fstrict-aliasing LIBCXXABI_HAS_FSTRICT_ALIASING_FLAG) check_cxx_compiler_flag(-nodefaultlibs LIBCXXABI_HAS_NODEFAULTLIBS_FLAG) check_cxx_compiler_flag(-nostdinc++ LIBCXXABI_HAS_NOSTDINCXX_FLAG) check_cxx_compiler_flag(-Wall LIBCXXABI_HAS_WALL_FLAG) check_cxx_compiler_flag(-W LIBCXXABI_HAS_W_FLAG) check_cxx_compiler_flag(-Wno-unused-function LIBCXXABI_HAS_WNO_UNUSED_FUNCTION_FLAG) -check_cxx_compiler_flag(-Wno-unused-parameter LIBCXXABI_HAS_WNO_UNUSED_PARAMETER_FLAG) +check_cxx_compiler_flag(-Wunused-variable LIBCXXABI_HAS_WUNUSED_VARIABLE_FLAG) +check_cxx_compiler_flag(-Wunused-parameter LIBCXXABI_HAS_WUNUSED_PARAMETER_FLAG) +check_cxx_compiler_flag(-Wstrict-aliasing LIBCXXABI_HAS_WSTRICT_ALIASING_FLAG) +check_cxx_compiler_flag(-Wstrict-overflow LIBCXXABI_HAS_WSTRICT_OVERFLOW_FLAG) check_cxx_compiler_flag(-Wwrite-strings LIBCXXABI_HAS_WWRITE_STRINGS_FLAG) -check_cxx_compiler_flag(-Wno-long-long LIBCXXABI_HAS_WNO_LONG_LONG_FLAG) +check_cxx_compiler_flag(-Wchar-subscripts LIBCXXABI_HAS_WCHAR_SUBSCRIPTS_FLAG) +check_cxx_compiler_flag(-Wmismatched-tags LIBCXXABI_HAS_WMISMATCHED_TAGS_FLAG) +check_cxx_compiler_flag(-Wmissing-braces LIBCXXABI_HAS_WMISSING_BRACES_FLAG) +check_cxx_compiler_flag(-Wshorten-64-to-32 LIBCXXABI_HAS_WSHORTEN_64_TO_32_FLAG) +check_cxx_compiler_flag(-Wsign-conversion LIBCXXABI_HAS_WSIGN_CONVERSION_FLAG) +check_cxx_compiler_flag(-Wsign-compare LIBCXXABI_HAS_WSIGN_COMPARE_FLAG) +check_cxx_compiler_flag(-Wshadow LIBCXXABI_HAS_WSHADOW_FLAG) +check_cxx_compiler_flag(-Wconversion LIBCXXABI_HAS_WCONVERSION_FLAG) +check_cxx_compiler_flag(-Wnewline-eof LIBCXXABI_HAS_WNEWLINE_EOF_FLAG) check_cxx_compiler_flag(-pedantic LIBCXXABI_HAS_PEDANTIC_FLAG) check_cxx_compiler_flag(-Werror LIBCXXABI_HAS_WERROR_FLAG) check_cxx_compiler_flag(-Wno-error LIBCXXABI_HAS_WNO_ERROR_FLAG) -check_cxx_compiler_flag(-fno-rtti LIBCXXABI_HAS_FNO_RTTI_FLAG) check_cxx_compiler_flag(/WX LIBCXXABI_HAS_WX_FLAG) check_cxx_compiler_flag(/WX- LIBCXXABI_HAS_NO_WX_FLAG) check_cxx_compiler_flag(/EHsc LIBCXXABI_HAS_EHSC_FLAG) |