https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68705
vries at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from vries at gcc dot gnu.org --- (In reply to vries from comment #0) > It initializes shared variable num_threads. This num_threads variable is > used by all threads subsequently, but there doesn't seem to be a mechanism > present that guarantees that the initialization by thread 0 is done before > any other thread reads the value (). Actually there is synchronization. The non-0 threads go into a waiting loop, before reading num_thread, and the 0 thread writes the num_threads variable and subsuquently enables the non-0 thread to exit the waiting loop. Marking resolved-invalid.