re PR c/24644 (gcc-4.1 compiled ppc64 kernels do not boot)
PR 24644 * common.opt (Wvolatile-register-var): New. * varasm.c (make_decl_rtl): Only emit warning when option specified. Clarify warning message. * doc/invoke.texi (Wvolatile-register-var): Document new option. * doc/md.texi (copysign): Document standard named pattern. From-SVN: r106791
This commit is contained in:
parent
51a641fdb2
commit
d35a40fca5
5 changed files with 35 additions and 3 deletions
|
@ -1,3 +1,13 @@
|
|||
2005-11-11 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
PR 24644
|
||||
* common.opt (Wvolatile-register-var): New.
|
||||
* varasm.c (make_decl_rtl): Only emit warning when option
|
||||
specified. Clarify warning message.
|
||||
* doc/invoke.texi (Wvolatile-register-var): Document new option.
|
||||
|
||||
* doc/md.texi (copysign): Document standard named pattern.
|
||||
|
||||
2005-11-11 Jie Zhang <jie.zhang@analog.com>
|
||||
|
||||
* config/bfin/bfin.c (bfin_expand_strmov): Correctly move the trailing
|
||||
|
|
|
@ -173,6 +173,10 @@ Wunused-variable
|
|||
Common Var(warn_unused_variable)
|
||||
Warn when a variable is unused
|
||||
|
||||
Wvolatile-register-var
|
||||
Common Var(warn_register_var)
|
||||
Warn when a register variable is declared volatile
|
||||
|
||||
aux-info
|
||||
Common Separate
|
||||
-aux-info <file> Emit declaration information into <file>
|
||||
|
|
|
@ -245,7 +245,7 @@ Objective-C and Objective-C++ Dialects}.
|
|||
-Wunknown-pragmas -Wno-pragmas -Wunreachable-code @gol
|
||||
-Wunused -Wunused-function -Wunused-label -Wunused-parameter @gol
|
||||
-Wunused-value -Wunused-variable -Wvariadic-macros @gol
|
||||
-Wwrite-strings}
|
||||
-Wvolatile-register-var -Wwrite-strings}
|
||||
|
||||
@item C-only Warning Options
|
||||
@gccoptlist{-Wbad-function-cast -Wmissing-declarations @gol
|
||||
|
@ -3370,6 +3370,13 @@ Warn if variadic macros are used in pedantic ISO C90 mode, or the GNU
|
|||
alternate syntax when in pedantic ISO C99 mode. This is default.
|
||||
To inhibit the warning messages, use @option{-Wno-variadic-macros}.
|
||||
|
||||
@item -Wvolatile-register-var
|
||||
@opindex Wvolatile-register-var
|
||||
@opindex Wno-volatile-register-var
|
||||
Warn if a register variable is declared volatile. The volatile
|
||||
modifier does not inhibit all optimizations that may eliminate reads
|
||||
and/or writes to register variables.
|
||||
|
||||
@item -Wdisabled-optimization
|
||||
@opindex Wdisabled-optimization
|
||||
Warn if a requested optimization pass is disabled. This warning does
|
||||
|
|
|
@ -3306,6 +3306,16 @@ corresponds to the C data type @code{double} and the @code{rintf}
|
|||
built-in function uses the mode which corresponds to the C data
|
||||
type @code{float}.
|
||||
|
||||
@cindex @code{copysign@var{m}3} instruction pattern
|
||||
@item @samp{copysign@var{m}3}
|
||||
Store a value with the magnitude of operand 1 and the sign of operand
|
||||
2 into operand 0.
|
||||
|
||||
The @code{copysign} built-in function of C always uses the mode which
|
||||
corresponds to the C data type @code{double} and the @code{copysignf}
|
||||
built-in function uses the mode which corresponds to the C data
|
||||
type @code{float}.
|
||||
|
||||
@cindex @code{ffs@var{m}2} instruction pattern
|
||||
@item @samp{ffs@var{m}2}
|
||||
Store into operand 0 one plus the index of the least significant 1-bit
|
||||
|
|
|
@ -955,8 +955,9 @@ make_decl_rtl (tree decl)
|
|||
error ("global register variable has initial value");
|
||||
}
|
||||
if (TREE_THIS_VOLATILE (decl))
|
||||
warning (0, "volatile register variables don%'t "
|
||||
"work as you might wish");
|
||||
warning (OPT_Wvolatile_register_var,
|
||||
"optimization may eliminate reads and/or "
|
||||
"writes to register variables");
|
||||
|
||||
/* If the user specified one of the eliminables registers here,
|
||||
e.g., FRAME_POINTER_REGNUM, we don't want to get this variable
|
||||
|
|
Loading…
Add table
Reference in a new issue