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?




Reply via email to