PR inline-asm/52813 revisited
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 15 Jan 2019 16:46:54 +0000 (16:46 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 15 Jan 2019 16:46:54 +0000 (16:46 +0000)
commit99063eeecbfb15fece3c72747a9dd14077c41afd
tree907872956c50b6376f90ebf8728f92652457d81c
parent17f781605e695711a3383b0474e806ce8150cf49
PR inline-asm/52813 revisited

The original patch for this PR made it an error to list the stack
pointer in the clobber list of an inline asm.  However, the general
feeling seemed to be that going straight to a hard error was too harsh,
since there's quite a bit of existing code that has the clobber.

This patch implements the compromise discussed on IRC of making it
a -Wdeprecated warning instead.

2019-01-15  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
PR inline-asm/52813
* doc/extend.texi: Document that listing the stack pointer in the
clobber list of an asm is a deprecated feature.
* common.opt (Wdeprecated): Moved from c-family/c.opt.
* cfgexpand.c (asm_clobber_reg_is_valid): Issue a -Wdeprecated
warning instead of an error for clobbers of the stack pointer.
Add a note explaining why.

gcc/c-family/
PR inline-asm/52813
* c.opt (Wdeprecated): Move documentation and variable to common.opt.

gcc/d/
PR inline-asm/52813
* lang.opt (Wdeprecated): Reference common.opt instead of c.opt.

gcc/testsuite/
PR inline-asm/52813
* gcc.target/i386/pr52813.c (test1): Turn the diagnostic into a
-Wdeprecated warning and expect a following note:.

From-SVN: r267941
gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c.opt
gcc/cfgexpand.c
gcc/common.opt
gcc/d/ChangeLog
gcc/d/lang.opt
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr52813.c