On Tue, 15 Dec 2015, David Wohlferd wrote:

> Unlike top level, using basic asm within a function is deprecated. No new code
> should use this feature, but should use extended asm instead.  Existing code
> should begin replacing such usage. Instances of affected code can be found
> using -Wonly-top-basic-asm. For help making this conversion, see "How to
> convert Basic asm to Extended asm."

I think the typical use of basic asm is: you want to manipulate I/O 
registers or other such state unknown to the compiler (not any registers 
the compiler might use itself), and you want to do it in a way that is 
maximally compatible with as many compilers as possible (hence limiting 
yourself to the syntax subset that's in the C++ standard, for example).  
Compatibility with a wide range of other compilers is the critical thing 
here; this is not a GCC-invented feature, and considerations for 
deprecating an externally defined feature are completely different from 
considerations for GCC-invented features.  Do you have evidence that it is 
now unusual for compilers to support basic asm without supporting 
GCC-compatible extended asm, or that other compiler providers generally 
consider basic asm deprecated?

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to