target/10440: [cygwin] incorrect assembler produced (as fails with "is already defined")
Giovanni Bajo
giovannibajo@libero.it
Tue Apr 22 13:53:00 GMT 2003
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&p
r=10440
Reduced snippet is:
--------------------------------
typedef struct
{
int dummy;
} Foo;
__attribute__((dllimport)) Foo issue_error_1;
__attribute__((dllimport)) Foo issue_error_2;
__attribute__((dllimport)) Foo issue_error_3;
__attribute__((dllimport)) Foo f;
void func(void)
{
other_func(f);
}
Foo f = {};
--------------------------------
/cygdrive/c/DOCUME~1/ADMINI~1/IMPOST~1/Temp/ccHvVfGR.s: Assembler messages:
/cygdrive/c/DOCUME~1/ADMINI~1/IMPOST~1/Temp/ccHvVfGR.s:21: Error: symbol
`_D' is already defined
/cygdrive/c/DOCUME~1/ADMINI~1/IMPOST~1/Temp/ccHvVfGR.s:22: Error: symbol
`_D' is already defined
/cygdrive/c/DOCUME~1/ADMINI~1/IMPOST~1/Temp/ccHvVfGR.s:23: Error: symbol
`_D' is already defined
Funny thing is that we get one error for each symbol we declare above (I
declared 3 and got three errors).
This bug is a regression of the 3.2 branch only. It's fixed on 3.3 and 3.4
with Mark's patch for pr/7910, but I read that the patch has been reverted.
I did not understand though if another patch has been prepared or not. GCC
3.3 build from a CVS snapshot of yesterday can compile it correctly.
Giovanni Bajo
More information about the Gcc-bugs
mailing list