------- Comment #3 from pault at gcc dot gnu dot org  2007-05-28 17:42 -------
I know what the trouble is:

Since the variable 'a' is not used, the equivalence is scrubbed and the
compiler goes off to look for a module variable, rather than a member of an
external union.

I have tried one or two attempts at fixes but none have touched the problem
yet.  I notice that the attribute 'in_equivalence' is not handled in modules. 
It probably has to be so that equivalence variables that are not used can be
loaded using the unique symtree mechanism.  If they are not loaded, the offset
information in the equivalence is not retained because the expression cannot be
used.

It's not low hanging fruit but it's amenable to being picked.

Paul


-- 

pault at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |pault at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2007-05-27 16:37:22         |2007-05-28 17:42:40
               date|                            |


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

Reply via email to