2004-01-14 09:08:36

by Andi Kleen

[permalink] [raw]
Subject: [PATCH] Add -Winline


Add -Winline by default. This makes the compiler warn when something
marked inline is not getting inlined. This is often because the

It should only make a difference with gcc 3.4, because in earlier
compilers we use always_inline and not inlining with always_inline
is an error already.

--- linux-34/Makefile-o 2004-01-09 09:27:08.000000000 +0100
+++ linux-34/Makefile 2004-01-14 09:36:18.172866544 +0100
@@ -448,6 +449,9 @@
# warn about C99 declaration after statement
CFLAGS += $(call check_gcc,-Wdeclaration-after-statement,)

+# warn about impossible inlines
+CFLAGS += $(call check_gcc,-Winline,)
+
#
# INSTALL_PATH specifies where to place the updated kernel and system map
# images. Uncomment if you want to place them anywhere other than root.


2004-01-15 12:42:19

by Adrian Bunk

[permalink] [raw]
Subject: Re: [PATCH] Add -Winline

On Wed, Jan 14, 2004 at 10:07:43AM +0100, Andi Kleen wrote:
>
> Add -Winline by default. This makes the compiler warn when something
> marked inline is not getting inlined. This is often because the
>
> It should only make a difference with gcc 3.4, because in earlier
> compilers we use always_inline and not inlining with always_inline
> is an error already.
>...

Attached are all inlining warnings I get with this patch applied in
2.6.1-mm3 using gcc 3.3.3 20040110 (prerelease) (Debian).

I've gzip'ed it since it was > 100 kB.

A few warnings might be missing since I used a .config with
CONFIG_SMP=y.

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed


Attachments:
(No filename) (870.00 B)
inlining-2.6.1-mm3.gz (5.17 kB)
Download all attachments

2004-01-15 12:55:45

by Jan Hubicka

[permalink] [raw]
Subject: Re: [PATCH] Add -Winline

> On Wed, Jan 14, 2004 at 10:07:43AM +0100, Andi Kleen wrote:
> >
> > Add -Winline by default. This makes the compiler warn when something
> > marked inline is not getting inlined. This is often because the
> >
> > It should only make a difference with gcc 3.4, because in earlier
> > compilers we use always_inline and not inlining with always_inline
> > is an error already.
> >...
>
> Attached are all inlining warnings I get with this patch applied in
> 2.6.1-mm3 using gcc 3.3.3 20040110 (prerelease) (Debian).
>
> I've gzip'ed it since it was > 100 kB.
>
> A few warnings might be missing since I used a .config with
> CONFIG_SMP=y.

Are you sure that you do use always_inline? (ie can you look into one
of preprocessed file for declaration of some of failed functions?)

Honza
>
> cu
> Adrian
>
> --
>
> "Is there not promise of rain?" Ling Tan asked suddenly out
> of the darkness. There had been need of rain for many days.
> "Only a promise," Lao Er said.
> Pearl S. Buck - Dragon Seed
>


2004-01-17 01:13:39

by Adrian Bunk

[permalink] [raw]
Subject: Re: [PATCH] Add -Winline

On Thu, Jan 15, 2004 at 01:55:44PM +0100, Jan Hubicka wrote:
> > On Wed, Jan 14, 2004 at 10:07:43AM +0100, Andi Kleen wrote:
> > >
> > > Add -Winline by default. This makes the compiler warn when something
> > > marked inline is not getting inlined. This is often because the
> > >
> > > It should only make a difference with gcc 3.4, because in earlier
> > > compilers we use always_inline and not inlining with always_inline
> > > is an error already.
> > >...
> >
> > Attached are all inlining warnings I get with this patch applied in
> > 2.6.1-mm3 using gcc 3.3.3 20040110 (prerelease) (Debian).
> >
> > I've gzip'ed it since it was > 100 kB.
> >
> > A few warnings might be missing since I used a .config with
> > CONFIG_SMP=y.
>
> Are you sure that you do use always_inline? (ie can you look into one
> of preprocessed file for declaration of some of failed functions?)

Yes, e.g. in drivers/ieee1394/eth1394.c:

<-- snip -->

...
static __inline__ __attribute__((always_inline)) __attribute__((always_inline))
void purge_partial_datagram(struct list_head *old)
{
...

<-- snip -->


> Honza

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed