basic asm and memory clobbers - Proposed solution

David Wohlferd dw@LimeGreenSocks.com
Thu Dec 17 01:41:00 GMT 2015


On 12/15/2015 5:01 PM, Paul_Koning@Dell.com wrote:
>> On Dec 15, 2015, at 5:22 PM, David Wohlferd <dw@LimeGreenSocks.com> wrote:
>>
>> On 12/14/2015 1:53 AM, Andrew Haley wrote:
>>>> This just seems like another argument for deprecating basic asm and pushing people to extended.
>>> Yes.  I am not arguing against deprecation.  We should do that.
>> You know, there are several people who seem to generally support this direction.  Not enough to call it a consensus, but perhaps the beginning of one:
>>
>> - Andrew Haley
>> - David Wohlferd
>> - Richard Henderson
>> - Segher Boessenkool
>> - Bernd Schmidt
>>
>> Anyone else want to add their name here?
> No, but I want to speak in opposition.

Fair enough.

> "Deprecate" means two things: warn now, remove later.

Yup.  That's what I'm proposing.  Although "later" could be a decade 
down the road.  That's how long 24414 has been sitting.

> For reasons stated by others, I object to "remove later".

> So "warn now, remove never" I would support, but not "deprecate".

So how about:

- Update the basic asm docs to describe basic asm's current (and 
historical) semantics (ie clobber nothing).
- Emphasize how that might be different from users' expectations or the 
behavior of other compilers.
- Warn that this could change in future versions of gcc.  To avoid 
impacts from this change, use extended.
- Mention -Wonly-top-basic-asm as a way to locate affected statements.

Would that be something you could support?

What's your take on making -Wonly-top-basic-asm a default (either now or 
v7)?  Is making it a non-default a waste of time because no one will 
ever see it?  Or is making it a default too aggressive? What about 
adding it to -Wall?

dw



More information about the Gcc mailing list