This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Inline functions in C99
On Sun, Mar 2, 2008 at 7:03 PM, Brian Dessent <brian@dessent.net> wrote:
> "Paulo J. Matos" wrote:
>
> > timemgm.c:37: warning: C99 inline functions are not supported; using GNU89
> > timemgm.c:37: warning: to disable this warning use -fgnu89-inline or
> > the gnu_inline function attribute
> > timemgm.c:43: warning: C99 inline functions are not supported; using GNU89
> > timemgm.c:52: warning: C99 inline functions are not supported; using GNU89
> >
> > What was the change between gcc version so that now I can't inline
> > functions? Why is this? If I can't inline functions, won't this reduce
> > the efficiency of my binary, or at least hinder my possibilities of
> > optimizing it?
>
> The warning is not saying what you think it is. What it is telling you
> is that the semantics of "inline" which that version of gcc supports do
> not match the C99 semantics; they are the "gnu inline" semantics. The
> difference has to do with how "extern inline" works. There is a summary
> of the differences here:
> <http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html>
>
> Note that in gcc 4.3 this has been rectified, i.e. the changes in that
> message have been made. So in 4.3, if you enable c99 mode (instead of
> the default which is gnu89 mode) you do actually get the c99 semantics
> of inline, which is a change from all past versions of gcc. That is why
> the warning was added to 4.2, in anticipation of the change coming in
> the next version, so that people that use inline and c99 mode will get
> some indication that something might break.
>
Oh, ok, thank you very much for the explanation. Now I get it why my
program fails to compile. It is due to the -Werror.
Thanks,
Paulo Matos
> Brian
>
--
Paulo Jorge Matos - pocm at soton.ac.uk
http://www.personal.soton.ac.uk/pocm
PhD Student @ ECS
University of Southampton, UK
Sponsor ECS runners - Action against Hunger:
http://www.justgiving.com/ecsrunslikethewind