------- 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