basic asm and memory clobbers

David Wohlferd dw@LimeGreenSocks.com
Fri Nov 27 01:04:00 GMT 2015


 >> To be clear, wouldn't asm("":) have the same effect?
 >
 > That does not matter.  It'd require source-code changes to
 > users' code.

My suggestion was to allow the exception to the "basic asm in a 
function" warning, but change the docs to show using the new syntax.  
This does not require any user code change.  But it kinda does matter 
whether or not it will work.

Copy/pasting my suggestion:

1) Change the docs to say asm("":), so future coders will do "the right 
thing."
2) Allow the exception for v6.
3) Re-evaluate if-and-when we continue with the deprecation process.

It may not be clear from this, but I don't expect step 3 to happen until 
at least v7.

And saying "the right thing" may be a bit flip.  But if deprecating 
basic asm is the path we are choosing, then telling users to use this 
syntax is how the text should read.  Assuming it works.

 > BTW, does that syntax work for really olden gcc
 > (say 2.95 era)?

The oldest docs I can find are 2.95.3, and they talk about the extended 
asm syntax, so I assume so: 
https://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_4.html#SEC93

 > Either way, we promised 'asm("")'.  I'm pretty
 > sure the empty string is identifiable.

It is.  I've already updated my code to support this exception.

dw



More information about the Gcc mailing list