summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2014-05-06 09:46:06 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2014-05-06 09:46:06 +0000
commit1b5fd3e52a6a42e007dbd16f6c37f1ce3e1f1f30 (patch)
treec7f3b98218d71c94869291b4a4869300c9cdec14
parentd263f14a0fed092af9dab53c1bdf25e6ba85c299 (diff)
downloadbcm5719-llvm-1b5fd3e52a6a42e007dbd16f6c37f1ce3e1f1f30.tar.gz
bcm5719-llvm-1b5fd3e52a6a42e007dbd16f6c37f1ce3e1f1f30.zip
Disable -Wcomment when building with GCC.
GCC version of -Wcomment is not compatible with ascii art graph diagrams. Reverts r207629. llvm-svn: 208073
-rw-r--r--llvm/cmake/modules/HandleLLVMOptions.cmake11
-rw-r--r--llvm/unittests/Analysis/LazyCallGraphTest.cpp22
2 files changed, 22 insertions, 11 deletions
diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake
index d5afc626f93..5b332ac74db 100644
--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -295,6 +295,17 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
append_if(USE_NO_MAYBE_UNINITIALIZED "-Wno-maybe-uninitialized" CMAKE_CXX_FLAGS)
check_cxx_compiler_flag("-Werror -Wnon-virtual-dtor" CXX_SUPPORTS_NON_VIRTUAL_DTOR_FLAG)
append_if(CXX_SUPPORTS_NON_VIRTUAL_DTOR_FLAG "-Wnon-virtual-dtor" CMAKE_CXX_FLAGS)
+
+ # Check if -Wcomment is OK with an // comment ending with '\' if the next
+ # line is also a // comment.
+ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} -Werror -Wcomment)
+ CHECK_C_SOURCE_COMPILES("// \\\\\\n//\\nint main() {return 0;}"
+ C_WCOMMENT_ALLOWS_LINE_WRAP)
+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+ if (NOT C_WCOMMENT_ALLOWS_LINE_WRAP)
+ append("-Wno-comment" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+ endif()
endif (LLVM_ENABLE_WARNINGS)
append_if(LLVM_ENABLE_WERROR "-Werror" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
if (LLVM_ENABLE_CXX1Y)
diff --git a/llvm/unittests/Analysis/LazyCallGraphTest.cpp b/llvm/unittests/Analysis/LazyCallGraphTest.cpp
index 8c7b567afc9..d7c70453c9b 100644
--- a/llvm/unittests/Analysis/LazyCallGraphTest.cpp
+++ b/llvm/unittests/Analysis/LazyCallGraphTest.cpp
@@ -41,17 +41,17 @@ std::unique_ptr<Module> parseAssembly(const char *Assembly) {
// IR forming a call graph with a diamond of triangle-shaped SCCs:
//
-// d1 |
-// / \ |
-// d3--d2 |
-// / \ |
-// b1 c1 |
-// / \ / \ |
-// b3--b2 c3--c2 |
-// \ / |
-// a1 |
-// / \ |
-// a3--a2 |
+// d1
+// / \
+// d3--d2
+// / \
+// b1 c1
+// / \ / \
+// b3--b2 c3--c2
+// \ /
+// a1
+// / \
+// a3--a2
//
// All call edges go up between SCCs, and clockwise around the SCC.
static const char DiamondOfTriangles[] =
OpenPOWER on IntegriCloud