This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

G++ 3.3 emits so many "inline failure" warnings


Hi,

I've just built G++ 3.3 on my Linux laptop (Mandrake linux 9.1, with 
Athlon AMD-XP-1500+ CPU). My build options was:

$ gcc -v
Reading specs from 
/usr/local/gcc-3.3/lib/gcc-lib/i686-pc-linux-gnu/3.3/specs
Configured with: /misc/build/gcc-3.3/configure --prefix=/usr/local/gcc-3.3 
--disable-nls --enable-languages=c,c++,f77
Thread model: posix
gcc version 3.3


I then went ahead to recompile my own C++ program using options -Wall
-Winline, G++ 3.3 emits logs of "inline failures" warnings for many
external library subroutines (notably those in libc, etc, etc). Two
examples are:

/usr/local/gcc-3.3/include/c++/3.3/new:83: warning: inlining failed in 
call to `void* operator new [](unsigned int)'

/usr/include/pthread.h:342: warning: inlining failed in call to `int
pthread_mutex_lock(pthread_mutex_t*)'

Why is this? They are external subroutines, and thus are not inlineable. 
Why does G++ emit warnings on them?

Is this a "feature" on G++? If yes, can anybody explain it?

In general GCC 3.3 was a great tool! I was impressed that gcc emits
warnings with colors. ;-) Does g++ also do the same?

Please include me in reply, as I'm not in gcc-help mailing list.

Wirawan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]