Hi Matthias,

This is how GCC works. Inlining is an optimisation. -O0 does *no* optimisation. Makes sense, doesn't it?

Regards,
Steve


Matthias Weingart wrote:

Hi listmembers,

sorry to bother you again :-).

With -O0 (no optimisation) static inline does not work?
Is this true?

example:

#define OS_TIMERINT() ({ (* do something *) })

static inline void osTimerInt(void)
{
 //do something
}

// Timer A0 interrupt service routine
interrupt(TIMERA0_VECTOR) Timer_A0(void)
{
 CCR0 += 200;                          // Add Offset to CCR0
 osTimerInt();
 OS_TIMERINT();
}

osTimerInt() is called like a ordinary function (call 0xxxx)
however the macro works; I will use macros and not static inline,
so no problem ;-)
(I use -O0 for debugging, but I think static inline should work as expected
independent from optimisation mode?).

I have the latest gcc binary from the download area (no cvs version).

       Matthias



Reply via email to