https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64212
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-01-28 CC| |jakub at gcc dot gnu.org, | |ktietz at gcc dot gnu.org Summary|[5 Regression] ICE [in |[4.9/5 Regression] ICE [in |noninterposable_alias, at |noninterposable_alias, at |symtab.c:1706] |symtab.c:1706] Ever confirmed|0 |1 --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Reduced testcase: inline void foo (void) { } __attribute__ ((__dllimport__)) void foo (void); void bar (void) { foo (); } No options are needed, reproduced with x86_64-linux -> x86_64-mingw32 cross. ICEs the same even with an extra extern void foo (void); prototype above the inline, and no matter whether -std=gnu89 or -std=c11 is used. Kai, is this even meant to be valid (i.e. shouldn't we reject this - adding dllimport attribute after inline fn definition)? And, is it really a regression? Don't have time to build cross-compilers for older gcc versions, perhaps you have some older ones around?