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:
David Edelsohn 2005-11-11 17:59:54 +00:00 committed by David Edelsohn
parent 51a641fdb2
commit d35a40fca5
5 changed files with 35 additions and 3 deletions

View File

@ -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

View File

@ -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>

View 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

View File

@ -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

View File

@ -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