On Wed, 30 Jan 2008, Ian Lance Taylor wrote:
> One issue here is that in some cases const and pure calls can get
> combined and eliminated even with attribute noinline (unless this
> changed recently).  So in addition to attribute noinline, putting an
> asm volatile ("") in the function can help make it non-pure and
> non-const.

(The "volatile" is redundant; an asm without in/out operands is
always volatile.)

That method has consensus as the officially supported method to
prevent the apparent effect of inlining (cases that aren't
inlining, but where you can't tell the difference as a user,
such as const/pure-optimization).

What remains is to document it as such, so we don't have to
re-ask every few weeks.

brgds, H-P

Reply via email to