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?

Reply via email to