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