This is for google-main branch.
Ignore thunks in ThreadSanitizer pass.

Index: gcc/tree-tsan.c
===================================================================
--- gcc/tree-tsan.c     (revision 182401)
+++ gcc/tree-tsan.c     (working copy)
@@ -426,6 +426,11 @@
       ignore_init = 1;
     }
 
+  /* Must be some artificial thunk function.  */
+  if (cfun->is_thunk
+      || (DECL_ARTIFICIAL (cfun->decl) && DECL_IGNORED_P (cfun->decl)))
+    return tsan_ignore_func;
+
   src_name = expand_location (cfun->function_start_locus).file;
   if (src_name == NULL)
     src_name = "";
Index: gcc/ChangeLog.google-main
===================================================================
--- gcc/ChangeLog.google-main   (revision 182401)
+++ gcc/ChangeLog.google-main   (working copy)
@@ -1,3 +1,8 @@
+2011-12-16   Dmitriy Vyukov  <dvyu...@google.com>
+
+        Ignore thunks in ThreadSanitizer pass.
+        * gcc/tree-tsan.c (tsan_ignore): Add check for thunks.
+
 2011-12-16  Dehao Chen  <de...@google.com>
 
        * ipa-inline-transform.c (dump_inline_decision): New function.

--
This patch is available for review at http://codereview.appspot.com/5492055

Reply via email to