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?