]> granicus.if.org Git - gc/commitdiff
Eliminate TSan warning about A.dummy in gctest
authorIvan Maidanski <ivmai@mail.ru>
Thu, 2 Nov 2017 21:58:18 +0000 (00:58 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Thu, 2 Nov 2017 21:58:18 +0000 (00:58 +0300)
* tests/test.c (reverse_test_inner): Move A.dummy=17 to
set_print_procs().
* tests/test.c (set_print_procs): Add comment.

tests/test.c

index a4b1bd12ef1d160c11f1de674eb3762285fc35f8..5fa46fae64fdd5468b151ed1b7331243b7d9f564 100644 (file)
@@ -669,7 +669,6 @@ void *GC_CALLBACK reverse_test_inner(void *data)
 #     define BIG 4500
 #   endif
 
-    A.dummy = 17;
     a_set(ints(1, 49));
     b = ints(1, 50);
     c = ints(1, BIG);
@@ -1198,7 +1197,7 @@ void typed_test(void)
 }
 
 #ifdef DBG_HDRS_ALL
-# define set_print_procs() (void)0
+# define set_print_procs() (void)(A.dummy = 17)
 #else
   int fail_count = 0;
 
@@ -1209,6 +1208,8 @@ void typed_test(void)
 
   void set_print_procs(void)
   {
+    /* Set these global variables just once to avoid TSan false positives. */
+    A.dummy = 17;
     GC_is_valid_displacement_print_proc = fail_proc1;
     GC_is_visible_print_proc = fail_proc1;
   }