------- 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