On Sat, Jan 12, 2008 at 07:20:03AM +0100, Hans-Peter Nilsson wrote: > Or, another attribute. Name? Maybe "always_extern", but I'm > not sure that's as intuitive and obvious as "noinline". I don't > like the perhaps immediately obvious "always_call", because I > think the calls should be deleted if the call-site is dead, just > not for reasons found out from analysis of the called function, > and the name suggests otherwise (alternatively, an implementation > to stop dead-code elimination would be troublesome and useless. :)
volatile. That seems to express exactly the right spirit: you can dead-code-eliminate it, but if you don't, call it exactly as the source code suggests. I don't know if the language standards already associate an incompatible meaning to it in this context; if so, just define an attribute with that name.