<div dir="ltr">Interesting. Have you checked if --driver-mode=g++ automatically adds -lstdc++ ? If yes, then I think we should prefer the former flag.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, May 13, 2014 at 5:57 AM, Timur Iskhodzhanov <span dir="ltr"><<a href="mailto:timurrrr@google.com" target="_blank">timurrrr@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: timurrrr<br>
Date: Tue May 13 07:57:50 2014<br>
New Revision: 208695<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=208695&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=208695&view=rev</a><br>
Log:<br>
[Sanitizer/ASan tests] Automatically detect the presence of libstdc++<br>
<br>
Modified:<br>
    compiler-rt/trunk/cmake/config-ix.cmake<br>
    compiler-rt/trunk/lib/asan/tests/CMakeLists.txt<br>
    compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt<br>
<br>
Modified: compiler-rt/trunk/cmake/config-ix.cmake<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/config-ix.cmake?rev=208695&r1=208694&r2=208695&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/config-ix.cmake?rev=208695&r1=208694&r2=208695&view=diff</a><br>

==============================================================================<br>
--- compiler-rt/trunk/cmake/config-ix.cmake (original)<br>
+++ compiler-rt/trunk/cmake/config-ix.cmake Tue May 13 07:57:50 2014<br>
@@ -45,6 +45,7 @@ check_cxx_compiler_flag(/wd4722 COMPILER<br>
 check_symbol_exists(__func__ "" COMPILER_RT_HAS_FUNC_SYMBOL)<br>
<br>
 # Libraries.<br>
+check_library_exists(stdc++ __cxa_pure_virtual "" COMPILER_RT_HAS_LIBSTDCXX)<br>
 check_library_exists(m pow "" COMPILER_RT_HAS_LIBM)<br>
 check_library_exists(dl dlopen "" COMPILER_RT_HAS_LIBDL)<br>
 check_library_exists(pthread pthread_create "" COMPILER_RT_HAS_LIBPTHREAD)<br>
<br>
Modified: compiler-rt/trunk/lib/asan/tests/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/tests/CMakeLists.txt?rev=208695&r1=208694&r2=208695&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/tests/CMakeLists.txt?rev=208695&r1=208694&r2=208695&view=diff</a><br>

==============================================================================<br>
--- compiler-rt/trunk/lib/asan/tests/CMakeLists.txt (original)<br>
+++ compiler-rt/trunk/lib/asan/tests/CMakeLists.txt Tue May 13 07:57:50 2014<br>
@@ -63,8 +63,10 @@ set(ASAN_UNITTEST_INSTRUMENTED_CFLAGS<br>
 )<br>
<br>
 # Unit tests require libstdc++ on POSIX.<br>
+append_if(COMPILER_RT_HAS_LIBSTDCXX -lstdc++ ASAN_UNITTEST_COMMON_LINKFLAGS)<br>
+<br>
 if(NOT MSVC)<br>
-  list(APPEND ASAN_UNITTEST_COMMON_LINKFLAGS --driver-mode=g++ -lstdc++)<br>
+  list(APPEND ASAN_UNITTEST_COMMON_LINKFLAGS --driver-mode=g++)<br>
 endif()<br>
<br>
 # x86_64 FreeBSD 9.2 additionally requires libc++ to build the tests.<br>
<br>
Modified: compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt?rev=208695&r1=208694&r2=208695&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt?rev=208695&r1=208694&r2=208695&view=diff</a><br>

==============================================================================<br>
--- compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt (original)<br>
+++ compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt Tue May 13 07:57:50 2014<br>
@@ -42,8 +42,7 @@ set(SANITIZER_TEST_CFLAGS_COMMON<br>
   -Werror=sign-compare<br>
   -Wno-non-virtual-dtor)<br>
<br>
-set(SANITIZER_TEST_LINK_FLAGS_COMMON<br>
-  -lstdc++)<br>
+append_if(COMPILER_RT_HAS_LIBSTDCXX -lstdc++ SANITIZER_TEST_LINK_FLAGS_COMMON)<br>
 append_if(COMPILER_RT_HAS_LIBDL -ldl SANITIZER_TEST_LINK_FLAGS_COMMON)<br>
 append_if(COMPILER_RT_HAS_LIBPTHREAD -lpthread SANITIZER_TEST_LINK_FLAGS_COMMON)<br>
 # x86_64 FreeBSD 9.2 additionally requires libc++ to build the tests.<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div>Alexey Samsonov, Mountain View, CA</div></div>
</div>