This is the mail archive of the gcc@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]

RFC: always-inline vs unit-at-a-time


Consider the following:

static inline int a() __attribute((always_inline));
static inline int b() __attribute((always_inline));

static inline int b() { a(); }
static inline int a() { }
int c() { b(); }

This compiles fine at -O2. At -O0 we get the baffling error
sorry, unimplemented: inlining failed in call to 'a': function not considered for inlining


It seems undesirable for -O options to affect which programs will compile.

The obvious thing to do about it is turn on -funit-at-a-time always, but I'm
concerned about the effect on compile speed; has anybody measured it?



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