Hello,
I hope somebody can clarify this issue for me - I am sure it is somewhere in th ABI for it escapes me. Using ARM7 architecture (LPC2478), I have a function written in C that is called (BL) from the startup file. The problem is that the compiler does not generate a "BX LR" instruction at its end. Is there some limitation in place that I am not aware of?
> Well, another good reason for a compiler to omit a return from a function is the case when > the function doesn't ever return, like a typical main().
Or in case the compiler applied tail-call optimization.
int var; int bar() { return var; } int foo() { return bar(); }
(assuming the compiler doesn't inline this silly example)
-- Marcus http://www.doulos.com/arm/