From fd2848735ac1783ce1beacf4c87c5c0bca9bf616 Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Fri, 14 Nov 2014 20:38:07 +0000 Subject: [PATCH] Add -gline-tables-only when compiling w/ sanitizers in RELEASE git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@222035 91177308-0d34-0410-b5e6-96231b3b80d8 --- CMakeLists.txt | 9 +++++++-- cmake/config-ix.cmake | 3 ++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9584734c..b26a8942 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -202,8 +202,13 @@ if (LIBCXX_BUILT_STANDALONE) # NOTE: LLVM_USE_SANITIZER checks for a UNIX like system instead of MSVC. # But we don't have LLVM_ON_UNIX so checking for MSVC is the best we can do. if (LLVM_USE_SANITIZER AND NOT MSVC) - append_if(LIBCXX_CXX_FEATURE_FLAGS LIBCXX_HAS_NO_OMIT_FRAME_POINTER_FLAG - "-fno-omit-frame-pointer") + append_if(LIBCXX_CXX_FEATURE_FLAGS LIBCXX_HAS_FNO_OMIT_FRAME_POINTER_FLAG + "-fno-omit-frame-pointer") + if (NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" AND + NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "RELWITHDEBINFO") + append_if(LIBCXX_CXX_FEATURE_FLAGS LIBCXX_HAS_GLINE_TABLES_ONLY_FLAG + "-gline-tables-only") + endif() if (LLVM_USE_SANITIZER STREQUAL "Address") list(APPEND LIBCXX_CXX_FEATURE_FLAGS "-fsanitize=address") elseif (LLVM_USE_SANITIZER MATCHES "Memory(WithOrigins)?") diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake index 2596787a..428d737c 100644 --- a/cmake/config-ix.cmake +++ b/cmake/config-ix.cmake @@ -5,7 +5,7 @@ include(CheckCXXCompilerFlag) check_cxx_compiler_flag(-std=c++11 LIBCXX_HAS_STDCXX11_FLAG) check_cxx_compiler_flag(-std=c++1y LIBCXX_HAS_STDCXX1Y_FLAG) check_cxx_compiler_flag(-fPIC LIBCXX_HAS_FPIC_FLAG) -check_cxx_compiler_flag(-fno-omit-frame-pointer LIBCXX_HAS_NO_OMIT_FRAME_POINTER_FLAG) +check_cxx_compiler_flag(-fno-omit-frame-pointer LIBCXX_HAS_FNO_OMIT_FRAME_POINTER_FLAG) check_cxx_compiler_flag(-nodefaultlibs LIBCXX_HAS_NODEFAULTLIBS_FLAG) check_cxx_compiler_flag(-nostdinc++ LIBCXX_HAS_NOSTDINCXX_FLAG) check_cxx_compiler_flag(-Wall LIBCXX_HAS_WALL_FLAG) @@ -18,6 +18,7 @@ check_cxx_compiler_flag(-Werror LIBCXX_HAS_WERROR_FLAG) check_cxx_compiler_flag(-Wno-error LIBCXX_HAS_WNO_ERROR_FLAG) check_cxx_compiler_flag(-fno-exceptions LIBCXX_HAS_FNO_EXCEPTIONS_FLAG) check_cxx_compiler_flag(-fno-rtti LIBCXX_HAS_FNO_RTTI_FLAG) +check_cxx_compiler_flag(-gline-tables-only LIBCXX_HAS_GLINE_TABLES_ONLY_FLAG) check_cxx_compiler_flag(/WX LIBCXX_HAS_WX_FLAG) check_cxx_compiler_flag(/WX- LIBCXX_HAS_NO_WX_FLAG) check_cxx_compiler_flag(/EHsc LIBCXX_HAS_EHSC_FLAG)