This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/45152] LTO breaks C99 inline
- From: "hubicka at ucw dot cz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Aug 2010 12:29:24 -0000
- Subject: [Bug c/45152] LTO breaks C99 inline
- References: <bug-45152-19510@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from hubicka at ucw dot cz 2010-08-22 12:29 -------
Subject: Re: LTO breaks C99 inline
> It's equivalent - once the end of the translation unit is reached. But
> with C99 you can have the declaration with extern or without inline,
> coming *after* the definition, which is what causes it to be exported.
OK,
is there any chance to convince the frontend to make the final representation
looking
same (i.e. not add the DECL_EXTERN flag?). DECL_EXTERN on function across
cgraph code
is always understood as extern inline and having such function marked as needed
is
a paradox.
Visibility pass already does quite some flags sanitization, so we might do that
there,
but that would imply need for cgraph to remember those functions somewhere
before unit
is finalized, so I would preffer frontend to do that.
Honza
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45152