------- Comment #14 from rguenth at gcc dot gnu dot org 2009-04-17 08:26 ------- Ah. I see what goes on then. The new logic assumes that GOMP_barrier does not change shrd (which is a local non-address-taken static variable in main, accessed from the OMP clone main.omp_fn.0). This is of course true, but nothing in GCC knows about threads - instead we rely on the builtins to act as optimization barriers.
The patch breaks this assumption. I will revert the broken part for now. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2009-04-16 18:45:47 |2009-04-17 08:26:00 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39746