This is the mail archive of the
mailing list for the GCC project.
Re: basic asm and memory clobbers
- From: David Wohlferd <dw at LimeGreenSocks dot com>
- To: Sandra Loosemore <sandra at codesourcery dot com>
- Cc: Jeff Law <law at redhat dot com>, Segher Boessenkool <segher at kernel dot crashing dot org>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, rth at gcc dot gnu dot org, pinskia at gcc dot gnu dot org
- Date: Sat, 21 Nov 2015 21:08:28 -0800
- Subject: Re: basic asm and memory clobbers
- Authentication-results: sourceware.org; auth=none
- References: <563FE459 dot 3000003 at LimeGreenSocks dot com> <20151109093229 dot GA5260 at gate dot crashing dot org> <56493010 dot 9070707 at LimeGreenSocks dot com> <564A4AA5 dot 1080706 at redhat dot com> <564AC155 dot 4040601 at LimeGreenSocks dot com> <564B9CB1 dot 1060001 at redhat dot com> <564E762B dot 6070705 at LimeGreenSocks dot com> <564E7D17 dot 6010609 at codesourcery dot com>
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
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
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
"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.