On Wed, Dec 04, 2013 at 06:47:09PM +0100, Marek Polacek wrote: > In C99, one way how to deal with inline functions is to put definition > of the function into header: > inline void foo (void) { /* ... */ } > and put the declaration into exactly one .c file, with extern keyword > (it can also have inline keyword): > extern void foo (void); > But in this case, we shouldn't issue the "missing prototype" warning. > So the following should suppress that warning in C99 mode, when > -fgnu89-inline is not in effect. (But the function could still have > the gnu_inline attribute, so it might be better to disable that > warning for all inline functions?)
A function definition can't have attributes after the (), and start_function is called with the attributes argument, so you can just look through those for gnu_inline attribute. Jakub