From: Oscar Fuentes Date: Wed, 11 May 2011 13:53:08 +0000 (+0000) Subject: Handle gcc-compatible compilers (such as clang) the same way we handle X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=104e99256d951674faadd865ed44ec698ede31ea;p=oota-llvm.git Handle gcc-compatible compilers (such as clang) the same way we handle gcc. Fixes PR9886. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131181 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake index 0633ac9e3a5..d0427acbd5d 100644 --- a/cmake/modules/HandleLLVMOptions.cmake +++ b/cmake/modules/HandleLLVMOptions.cmake @@ -1,5 +1,11 @@ include(AddLLVMDefinitions) +if( CMAKE_COMPILER_IS_GNUCXX ) + set(LLVM_COMPILER_IS_GCC_COMPATIBLE ON) +elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" ) + set(LLVM_COMPILER_IS_GCC_COMPATIBLE ON) +endif() + # Run-time build mode; It is used for unittests. if(MSVC_IDE) # Expect "$(Configuration)", "$(OutDir)", etc. @@ -167,7 +173,7 @@ if( MSVC ) if (LLVM_ENABLE_WERROR) add_llvm_definitions( /WX ) endif (LLVM_ENABLE_WERROR) -elseif( CMAKE_COMPILER_IS_GNUCXX ) +elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE ) if (LLVM_ENABLE_WARNINGS) add_llvm_definitions( -Wall -W -Wno-unused-parameter -Wwrite-strings ) if (LLVM_ENABLE_PEDANTIC) diff --git a/cmake/modules/LLVMProcessSources.cmake b/cmake/modules/LLVMProcessSources.cmake index 270292ad3b8..641f1b33e1d 100644 --- a/cmake/modules/LLVMProcessSources.cmake +++ b/cmake/modules/LLVMProcessSources.cmake @@ -56,7 +56,7 @@ function(llvm_process_sources OUT_VAR) # Set common compiler options: if( NOT LLVM_REQUIRES_EH ) - if( CMAKE_COMPILER_IS_GNUCXX ) + if( LLVM_COMPILER_IS_GCC_COMPATIBLE ) add_definitions( -fno-exceptions ) elseif( MSVC ) llvm_replace_compiler_option(CMAKE_CXX_FLAGS "/EHsc" "/EHs-c-") @@ -64,7 +64,7 @@ function(llvm_process_sources OUT_VAR) endif() endif() if( NOT LLVM_REQUIRES_RTTI ) - if( CMAKE_COMPILER_IS_GNUCXX ) + if( LLVM_COMPILER_IS_GCC_COMPATIBLE ) llvm_replace_compiler_option(CMAKE_CXX_FLAGS "-frtti" "-fno-rtti") elseif( MSVC ) llvm_replace_compiler_option(CMAKE_CXX_FLAGS "/GR" "/GR-") diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt index da4a6524bd9..fcf6109a53a 100644 --- a/unittests/CMakeLists.txt +++ b/unittests/CMakeLists.txt @@ -20,7 +20,7 @@ set_target_properties(UnitTests PROPERTIES FOLDER "Tests") include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include) add_definitions(-DGTEST_HAS_RTTI=0) -if( CMAKE_COMPILER_IS_GNUCXX ) +if( LLVM_COMPILER_IS_GCC_COMPATIBLE ) llvm_replace_compiler_option(CMAKE_CXX_FLAGS "-frtti" "-fno-rtti") elseif( MSVC ) llvm_replace_compiler_option(CMAKE_CXX_FLAGS "/GR" "/GR-")