https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
vries at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vries at gcc dot gnu.org --- Comment #9 from vries at gcc dot gnu.org --- Created attachment 33348 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33348&action=edit patch for 4.6 branch - patches from comment 1 and 3 - c-common.c patch re-applied to lto/lto-lang.c to fix lto buildbreaker - testcases added. Patch applies to 4.6 branch, non-bootstrap build succeeds and added test-cases pass. In 4.7 branch, this snippet: ... @@ -5612,6 +5611,12 @@ intra_create_variable_infos (void) rhsc.offset = 0; process_constraint (new_constraint (lhsc, rhsc)); vi->is_restrict_var = 1; + do + { + make_constraint_from (vi, nonlocal_id); + vi = vi->next; + } + while (vi); continue; } ... conflicts with: ... rhsc.offset = 0; process_constraint (new_constraint (lhsc, rhsc)); for (; vi; vi = vi->next) if (vi->may_have_pointers) { if (vi->only_restrict_pointers) make_constraint_from_global_restrict (vi, "GLOBAL_RESTRICT"); else make_copy_constraint (vi, nonlocal_id); } continue; } ...