diff options
| author | Jason Henline <jhen@google.com> | 2016-09-13 15:44:18 +0000 | 
|---|---|---|
| committer | Jason Henline <jhen@google.com> | 2016-09-13 15:44:18 +0000 | 
| commit | 45b467523b34f0ad0fa03bd17a15a294d73ae808 (patch) | |
| tree | a737a6b962c7181929d78e0b782f027c15d8c45f /parallel-libs | |
| parent | 6339f1a028c7e9cc5150fcdd6b5363ee952e931f (diff) | |
| download | bcm5719-llvm-45b467523b34f0ad0fa03bd17a15a294d73ae808.tar.gz bcm5719-llvm-45b467523b34f0ad0fa03bd17a15a294d73ae808.zip  | |
[SE] Stop using llvm-config --cxxflags
Summary:
Build configuration was adding $(llvm-config --cxxflags) to the
StreamExecutor CXXFLAGS, but this was causing "-O3" to be passed even
for debug builds, and was making debugging difficult.
The llvm-config call was originally introduced to handle the -fno-rtti
flag because an RTTI StreamExecutor could not link with a no-RTTI LLVM.
This patch converts to using LLVM_ENABLE_RTTI and only adding the
`-fno-rtti` flag if needed, not all the rest of the LLVM CXXFLAGS.
I have tested this with clang-4.0 and gcc-4.8 on Ubuntu. Some work will
probably have to be done to support MSVC.
Reviewers: jlebar
Subscribers: beanz, jprice, parallel_libs-commits, mgorny
Differential Revision: https://reviews.llvm.org/D24474
llvm-svn: 281347
Diffstat (limited to 'parallel-libs')
| -rw-r--r-- | parallel-libs/streamexecutor/CMakeLists.txt | 15 | 
1 files changed, 4 insertions, 11 deletions
diff --git a/parallel-libs/streamexecutor/CMakeLists.txt b/parallel-libs/streamexecutor/CMakeLists.txt index c2901045a6c..73934159cbf 100644 --- a/parallel-libs/streamexecutor/CMakeLists.txt +++ b/parallel-libs/streamexecutor/CMakeLists.txt @@ -26,17 +26,10 @@ if(STREAM_EXECUTOR_STANDALONE)      include_directories(${LLVM_INCLUDE_DIRS})      add_definitions(${LLVM_DEFINITIONS}) -    # Get the LLVM cxxflags by using llvm-config. -    # -    # This is necessary to get -fno-rtti if LLVM is compiled that way. -    execute_process( -        COMMAND -        "${LLVM_BINARY_DIR}/bin/llvm-config" -        --cxxflags -        OUTPUT_VARIABLE -        LLVM_CXXFLAGS -        OUTPUT_STRIP_TRAILING_WHITESPACE) -    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_CXXFLAGS}") +    # If LLVM does not have RTTI, don't use it here either. +    if (NOT LLVM_ENABLE_RTTI) +        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") +    endif()      set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm")      list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")  | 

