------- Comment #3 from dfranke at gcc dot gnu dot org 2007-07-05 15:09 ------- The patch below fixes the current problem. There are other checks against attrib->save in check_conflict() which might trigger the same problem. I'll have a closer later this evening.
Index: symbol.c =================================================================== --- symbol.c (revision 126369) +++ symbol.c (working copy) @@ -630,12 +630,17 @@ conf2 (target); conf2 (dummy); conf2 (in_common); - conf2 (save); conf2 (value); conf2 (volatile_); conf2 (threadprivate); /* TODO: hmm, double check this. */ conf2 (value); + + if (attr->save == SAVE_EXPLICIT) + { + a2 = save; + goto conflict; + } break; default: -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32633