basic asm and memory clobbers

David Wohlferd dw@LimeGreenSocks.com
Sun Nov 22 05:09:00 GMT 2015


On 11/19/2015 5:53 PM, Sandra Loosemore wrote:
> On 11/19/2015 06:23 PM, David Wohlferd wrote:
>
>>> About the only immediate task would be to ensure that the
>>> documentation for traditional asms clearly documents the desired
>>> semantics and somehow note that there are known bugs in the
>>> implementation (ie 24414, handling of flags registers, and probably
>>> other oddities)
>>
>> Given that gcc is at phase 3, I'm guessing this work won't be in v6?  Or
>> would this be considered "general bugfixing?"
>>
>> The reason I ask is I want to clearly document what the current behavior
>> is as well as informing them about what's coming.  If this isn't
>> changing until v7, the text can be updated then to reflect the new
>> behavior.
>
> Documentation fixes are accepted all the way through Stage 4, since 
> there's less risk of introducing regressions in user programs from 
> accidental documentation mistakes than code errors.

The code change isn't yet finalized.  I'm hoping to doc something 
vaguely like:

"basic asm (other than at top level) is being deprecated because <blah 
blah> potentially unsafe due to optimizations <blah blah blah>.  You can 
locate the statements that will no longer be supported using 
-Wonly-top-basic-asm.  Change them to use extended asm instead."

What's your take on having the user guide link to the gcc wiki?  If we 
do make this change, I'd kinda like to create a "how to convert basic 
asm to extended."  But it doesn't seem like a good fit for the user 
docs.  But if the user docs don't reference the wiki, I doubt anyone 
would ever find it.

> OTOH, I'd discourage adding anything to the docs about anticipated 
> changes in future releases, except possibly to note that certain 
> features or behavior are deprecated and may be removed in future 
> releases (with a suggestion about what you should do instead). 

I'd love to see the doc folks make a pass and remove every "some day 
this won't work" text that doesn't include this.  If there is no way for 
users to prepare, you aren't helping.

And remove all the "some day there might be a new feature" stuff too.  
It just wastes users' time trying to figure out if "some day" has 
arrived yet.  And it makes them cry when the new feature, which is 
exactly what they need, isn't there yet.

> We've already got too many "maybe someday this will be fixed" notes in 
> the manual that are not terribly useful to users.

You'd get my vote to remove them all.  If I got a vote.

dw



More information about the Gcc mailing list