[compiler-rt] r189791 - tsan: add suppressions for true/false positives in standard libraries

Dmitry Vyukov dvyukov at google.com
Tue Sep 3 04:43:05 PDT 2013


Author: dvyukov
Date: Tue Sep  3 06:43:04 2013
New Revision: 189791

URL: http://llvm.org/viewvc/llvm-project?rev=189791&view=rev
Log:
tsan: add suppressions for true/false positives in standard libraries

Modified:
    compiler-rt/trunk/lib/tsan/rtl/tsan_suppressions.cc

Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_suppressions.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_suppressions.cc?rev=189791&r1=189790&r2=189791&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/rtl/tsan_suppressions.cc (original)
+++ compiler-rt/trunk/lib/tsan/rtl/tsan_suppressions.cc Tue Sep  3 06:43:04 2013
@@ -21,6 +21,19 @@
 #include "tsan_mman.h"
 #include "tsan_platform.h"
 
+// Suppressions for true/false positives in standard libraries.
+static const char *const std_suppressions =
+// Libstdc++ 4.4 has data races in std::string.
+// See http://crbug.com/181502 for an example.
+"race:^_M_rep$\n"
+"race:^_M_is_leaked$\n"
+
+// False positive when using std <thread>.
+// Happens because we miss atomic synchronization in libstdc++.
+// See http://llvm.org/bugs/show_bug.cgi?id=17066 for details.
+"race:std::_Sp_counted_ptr_inplace<std::thread::_Impl\n"
+;
+
 // Can be overriden in frontend.
 #ifndef TSAN_GO
 extern "C" const char *WEAK __tsan_default_suppressions() {
@@ -72,6 +85,7 @@ void InitializeSuppressions() {
 #ifndef TSAN_GO
   supp = __tsan_default_suppressions();
   g_ctx->Parse(supp);
+  g_ctx->Parse(std_suppressions);
 #endif
 }
 





More information about the llvm-commits mailing list