------- Comment #8 from burnus at gcc dot gnu dot org  2010-07-09 12:16 -------
(In reply to comment #5)
> I'm going to leave the bug open after that because I think the Fortran
> frontend should do better than overriding the type of the common in TRUDGE
> from the unused variant in TRUSRC.

Can you be a bit more specific what the solution of the problem should be?


> Sooner or later you'll trip into another ICE with these mismatched types in
> the IL.  Why can't this be a hard error?

"Named common blocks of the same name shall be of the same size in all scoping
units of a program in which they appear, but blank common blocks may be of
different sizes." (5.7.2.5, Fortran 2008 (FDIS).)

Thus, for blank commons, the standard requires to support it - while for named
commones (such as TRUPAR in comment 1), it does not allow it. However, that did
not stop people from doing so - and the number of (legacy) code which does so
is legion.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44882

Reply via email to