Add -gline-tables-only when compiling w/ sanitizers in RELEASE
authorEric Fiselier <eric@efcs.ca>
Fri, 14 Nov 2014 20:38:07 +0000 (20:38 +0000)
committerEric Fiselier <eric@efcs.ca>
Fri, 14 Nov 2014 20:38:07 +0000 (20:38 +0000)
llvm-svn: 222035

libcxx/CMakeLists.txt
libcxx/cmake/config-ix.cmake

index 9584734..b26a894 100644 (file)
@@ -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)?")
index 2596787..428d737 100644 (file)
@@ -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)