http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40362



--- Comment #13 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-12-29 
21:32:06 UTC ---

(In reply to comment #12)

>   ws = gomp_ptrlock_get (&ws->next_ws);



This is really just:

 ws = gomp_ptrlock_get (ws+offsetof(next_ws));



So there are no loads there.  This is a race condition only if we go from

non-null to null which cannot happen here.  TSAN cannot detect that as it does

not understand that case which is a complex case to understand



Also does TSAN understand futex's which might the other thing throwing it off

just as Hellgrtind and drd was thrown off by it.

Reply via email to