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....