On 14 January 2008 11:03, Hans-Peter Nilsson wrote: >> Date: Sat, 12 Jan 2008 11:16:23 +0100 >> From: Paolo Bonzini <[EMAIL PROTECTED]> > >>> (Yeah, new attributes "impure" and/or "nonconst" would solve >>> this, but only for IPA and there's already the existing option >>> and asm I mentioned. And if you say different files/compilation >>> units, I say LTO.) >> >> I think the asm is your best bet. > > I prefer not to bet at all. ;) > > Let's make this: > asm (""); > (asms without input and output operands are volatile, and we're > also leaving the text empty) in the called function the > promised, documented way to stop interfunction analysis (like > currently const/pure) making calls "as it used to be". Not all > targets support "weak", and overloading a standard qualifier > like "volatile" or "extern" seems on second thought too brittle. > > brgds, H-P
If you wanted to stick to standard C, you could surely force it with a call through function pointer, perhaps? (You might need to make it volatile to fool IPA.) cheers, DaveK -- Can't think of a witty .sigline today....