aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorManuel López-Ibáñez <manu@gcc.gnu.org>2007-02-19 20:02:28 +0000
committerManuel López-Ibáñez <manu@gcc.gnu.org>2007-02-19 20:02:28 +0000
commitc116cd05fb0e993227162e466ba5f5093392e3e6 (patch)
tree1df9bafac89190d0399bae0615e62acab0097f1f /gcc
parent459ffad3fd0486d686a14f45f59167b1e08c240a (diff)
downloadgcc-c116cd05fb0e993227162e466ba5f5093392e3e6.zip
gcc-c116cd05fb0e993227162e466ba5f5093392e3e6.tar.gz
gcc-c116cd05fb0e993227162e466ba5f5093392e3e6.tar.bz2
c.opt (Waddress): New.
2007-02-19 Manuel Lopez-Ibanez <manu@gcc.gnu.org> * c.opt (Waddress): New. * common.opt (Walways-true): Delete. (Wstring-literal-comparison): Delete. * doc/invoke.texi (Warning Options): Delete -Walways-true and -Wstring-literal-comparison. Add -Waddress. (Waddress): New. (Walways-true): Delete. (Wstring-literal-comparison): Delete. * doc/extend.texi (#pragma GCC diagnostic): Use -Wformat consistently instead of -Walways-true in example. * c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall. * c-typeck.c (parser_build_binary_op): Replace -Wstring-literal-comparison and -Walways-true with -Waddress. * c-common.c (c_common_truthvalue_conversion): Replace -Walways-true with -Waddress. cp/ * typeck.c (build_binary_op): Replace -Wstring-literal-comparison and -Walways-true with -Waddress. * cvt.c (convert_to_void): Replace unconditional warning with -Waddress. testsuite/ * gcc.dg/20031012-1.c: Replace -Walways-true with -Waddress. * gcc.dg/Walways-true-1.c: Likewise. * gcc.dg/weak/weak-3.c: Likewise. * gcc.dg/Werror-1.c: Likewise. * gcc.dg/Werror-3.c: Likewise. * gcc.dg/Werror-4.c: Likewise. * gcc.dg/Werror-5.c: Likewise. * gcc.dg/Werror-6.c: Likewise. * gcc.dg/Werror-7.c: Likewise. * gcc.dg/Werror-8.c: Likewise. * gcc.dg/Werror-10.c: Likewise. * gcc.dg/Werror-11.c: Likewise. * gcc.dg/Werror-12.c: Likewise. * g++.old-deja/g++.mike/warn8.C: Likewise. * g++.dg/warn/Walways-true-1.C: Likewise. * g++.dg/warn/Walways-true-2.C: Likewise. * g++.dg/warn/noeffect8.C: Warn only with -Waddress. * g++.dg/warn/Wstring-literal-comparison-1.C: Replace -Wstring-literal-comparison with -Waddress. * gcc.dg/Wstring-literal-comparison-4.c: Replace -Wno-string-literal-comparison with -Wno-address. From-SVN: r122136
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog18
-rw-r--r--gcc/c-common.c2
-rw-r--r--gcc/c-opts.c3
-rw-r--r--gcc/c-typeck.c10
-rw-r--r--gcc/c.opt4
-rw-r--r--gcc/common.opt8
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/cvt.c2
-rw-r--r--gcc/cp/typeck.c10
-rw-r--r--gcc/doc/extend.texi4
-rw-r--r--gcc/doc/invoke.texi33
-rw-r--r--gcc/testsuite/ChangeLog24
-rw-r--r--gcc/testsuite/g++.dg/warn/Walways-true-1.C4
-rw-r--r--gcc/testsuite/g++.dg/warn/Walways-true-2.C2
-rw-r--r--gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-1.C2
-rw-r--r--gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-4.C2
-rw-r--r--gcc/testsuite/g++.dg/warn/noeffect8.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/warn8.C2
-rw-r--r--gcc/testsuite/gcc.dg/20031012-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/Walways-true-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/Walways-true-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/Werror-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/Werror-10.c2
-rw-r--r--gcc/testsuite/gcc.dg/Werror-11.c2
-rw-r--r--gcc/testsuite/gcc.dg/Werror-12.c4
-rw-r--r--gcc/testsuite/gcc.dg/Werror-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/Werror-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/Werror-5.c2
-rw-r--r--gcc/testsuite/gcc.dg/Werror-6.c2
-rw-r--r--gcc/testsuite/gcc.dg/Werror-7.c2
-rw-r--r--gcc/testsuite/gcc.dg/Werror-8.c2
-rw-r--r--gcc/testsuite/gcc.dg/Werror-9.c2
-rw-r--r--gcc/testsuite/gcc.dg/Wstring-literal-comparison-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/Wstring-literal-comparison-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/warn-addr-cmp.c2
-rw-r--r--gcc/testsuite/gcc.dg/weak/weak-3.c2
36 files changed, 111 insertions, 70 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f521314..63144148 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,21 @@
+2007-02-19 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ * c.opt (Waddress): New.
+ * common.opt (Walways-true): Delete.
+ (Wstring-literal-comparison): Delete.
+ * doc/invoke.texi (Warning Options): Delete -Walways-true and
+ -Wstring-literal-comparison. Add -Waddress.
+ (Waddress): New.
+ (Walways-true): Delete.
+ (Wstring-literal-comparison): Delete.
+ * doc/extend.texi (#pragma GCC diagnostic): Use -Wformat
+ consistently instead of -Walways-true in example.
+ * c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall.
+ * c-typeck.c (parser_build_binary_op): Replace
+ -Wstring-literal-comparison and -Walways-true with -Waddress.
+ * c-common.c (c_common_truthvalue_conversion): Replace -Walways-true
+ with -Waddress.
+
2007-02-19 Eric Botcazou <ebotcazou@adacore.com>
* tree-cfg.c (dump_function_to_file): Be prepared for functions
diff --git a/gcc/c-common.c b/gcc/c-common.c
index d9a826d..51fd226 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -2716,7 +2716,7 @@ c_common_truthvalue_conversion (tree expr)
if (decl_with_nonnull_addr_p (inner))
{
/* Common Ada/Pascal programmer's mistake. */
- warning (OPT_Walways_true,
+ warning (OPT_Waddress,
"the address of %qD will always evaluate as %<true%>",
inner);
return truthvalue_true_node;
diff --git a/gcc/c-opts.c b/gcc/c-opts.c
index 76ad827..2839e66 100644
--- a/gcc/c-opts.c
+++ b/gcc/c-opts.c
@@ -395,9 +395,8 @@ c_common_handle_option (size_t scode, const char *arg, int value)
warn_sign_compare = value;
warn_switch = value;
warn_strict_aliasing = value;
+ warn_address = value;
warn_strict_overflow = value;
- warn_string_literal_comparison = value;
- warn_always_true = value;
warn_array_bounds = value;
/* Only warn about unknown pragmas that are not in system
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index f6ba19e..d3495a9 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -2640,13 +2640,11 @@ parser_build_binary_op (enum tree_code code, struct c_expr arg1,
{
if ((code1 == STRING_CST && !integer_zerop (arg2.value))
|| (code2 == STRING_CST && !integer_zerop (arg1.value)))
- warning (OPT_Wstring_literal_comparison,
- "comparison with string literal");
+ warning (OPT_Waddress, "comparison with string literal results in unspecified behaviour");
}
else if (TREE_CODE_CLASS (code) == tcc_comparison
&& (code1 == STRING_CST || code2 == STRING_CST))
- warning (OPT_Wstring_literal_comparison,
- "comparison with string literal");
+ warning (OPT_Waddress, "comparison with string literal results in unspecified behaviour");
if (TREE_OVERFLOW_P (result.value)
&& !TREE_OVERFLOW_P (arg1.value)
@@ -8025,7 +8023,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
{
if (TREE_CODE (op0) == ADDR_EXPR
&& decl_with_nonnull_addr_p (TREE_OPERAND (op0, 0)))
- warning (OPT_Walways_true, "the address of %qD will never be NULL",
+ warning (OPT_Waddress, "the address of %qD will never be NULL",
TREE_OPERAND (op0, 0));
result_type = type0;
}
@@ -8033,7 +8031,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
{
if (TREE_CODE (op1) == ADDR_EXPR
&& decl_with_nonnull_addr_p (TREE_OPERAND (op1, 0)))
- warning (OPT_Walways_true, "the address of %qD will never be NULL",
+ warning (OPT_Waddress, "the address of %qD will never be NULL",
TREE_OPERAND (op1, 0));
result_type = type1;
}
diff --git a/gcc/c.opt b/gcc/c.opt
index 512882b..c384f52 100644
--- a/gcc/c.opt
+++ b/gcc/c.opt
@@ -116,6 +116,10 @@ Wabi
C++ ObjC++ Var(warn_abi) Warning
Warn about things that will change when compiling with an ABI-compliant compiler
+Waddress
+C ObjC C++ ObjC++ Var(warn_address) Warning
+Warn about suspicious uses of memory addresses
+
Wall
C ObjC C++ ObjC++ Warning
Enable most warning messages
diff --git a/gcc/common.opt b/gcc/common.opt
index c6a9557..1be3b74 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -74,10 +74,6 @@ Waggregate-return
Common Var(warn_aggregate_return) Warning
Warn about returning structures, unions or arrays
-Walways-true
-Common Var(warn_always_true) Warning
-Warn about comparisons that always evaluate to true
-
Warray-bounds
Common Var(warn_array_bounds)
Warn if an array is accessed out of bounds
@@ -166,10 +162,6 @@ Wstrict-overflow=
Common Joined UInteger
Warn about optimizations that assume that signed overflow is undefined
-Wstring-literal-comparison
-Common Var(warn_string_literal_comparison) Warning
-Warn about comparisons to constant string literals
-
Wswitch
Common Var(warn_switch) Warning
Warn about enumerated switches, with no default, missing a case
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index a1f948d..0c6b90d 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+2007-02-19 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ * typeck.c (build_binary_op): Replace -Wstring-literal-comparison
+ and -Walways-true with -Waddress.
+ * cvt.c (convert_to_void): Replace unconditional warning with
+ -Waddress.
+
2007-02-18 Kazu Hirata <kazu@codesourcery.com>
* decl.c, tree.c: Fix comment typos.
diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c
index 497179b..4e628a5 100644
--- a/gcc/cp/cvt.c
+++ b/gcc/cp/cvt.c
@@ -929,7 +929,7 @@ convert_to_void (tree expr, const char *implicit)
else if (implicit && probe == expr && is_overloaded_fn (probe))
{
/* Only warn when there is no &. */
- warning (0, "%s is a reference, not call, to function %qE",
+ warning (OPT_Waddress, "%s is a reference, not call, to function %qE",
implicit, expr);
if (TREE_CODE (expr) == COMPONENT_REF)
expr = TREE_OPERAND (expr, 0);
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index 68b7a04..63f03cc 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -3319,8 +3319,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
"comparing floating point with == or != is unsafe");
if ((TREE_CODE (orig_op0) == STRING_CST && !integer_zerop (op1))
|| (TREE_CODE (orig_op1) == STRING_CST && !integer_zerop (op0)))
- warning (OPT_Wstring_literal_comparison,
- "comparison with string literal");
+ warning (OPT_Waddress, "comparison with string literal results in unspecified behaviour");
build_type = boolean_type_node;
if ((code0 == INTEGER_TYPE || code0 == REAL_TYPE
@@ -3337,7 +3336,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
{
if (TREE_CODE (op0) == ADDR_EXPR
&& decl_with_nonnull_addr_p (TREE_OPERAND (op0, 0)))
- warning (OPT_Walways_true, "the address of %qD will never be NULL",
+ warning (OPT_Waddress, "the address of %qD will never be NULL",
TREE_OPERAND (op0, 0));
result_type = type0;
}
@@ -3346,7 +3345,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
{
if (TREE_CODE (op1) == ADDR_EXPR
&& decl_with_nonnull_addr_p (TREE_OPERAND (op1, 0)))
- warning (OPT_Walways_true, "the address of %qD will never be NULL",
+ warning (OPT_Waddress, "the address of %qD will never be NULL",
TREE_OPERAND (op1, 0));
result_type = type1;
}
@@ -3495,8 +3494,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
case GT_EXPR:
if (TREE_CODE (orig_op0) == STRING_CST
|| TREE_CODE (orig_op1) == STRING_CST)
- warning (OPT_Wstring_literal_comparison,
- "comparison with string literal");
+ warning (OPT_Waddress, "comparison with string literal results in unspecified behaviour");
build_type = boolean_type_node;
if ((code0 == INTEGER_TYPE || code0 == REAL_TYPE)
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 2417a73d..57cc6e1 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -10149,8 +10149,8 @@ option.
@example
#pragma GCC diagnostic warning "-Wformat"
-#pragma GCC diagnostic error "-Walways-true"
-#pragma GCC diagnostic ignored "-Walways-true"
+#pragma GCC diagnostic error "-Wformat"
+#pragma GCC diagnostic ignored "-Wformat"
@end example
Note that these pragmas override any command line options. Also,
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 3bc4d90..047104c 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -223,7 +223,7 @@ Objective-C and Objective-C++ Dialects}.
@item Warning Options
@xref{Warning Options,,Options to Request or Suppress Warnings}.
@gccoptlist{-fsyntax-only -pedantic -pedantic-errors @gol
--w -Wextra -Wall -Waggregate-return -Walways-true -Warray-bounds @gol
+-w -Wextra -Wall -Waddress -Waggregate-return -Warray-bounds @gol
-Wno-attributes -Wc++-compat -Wc++0x-compat -Wcast-align -Wcast-qual @gol
-Wchar-subscripts -Wclobbered -Wcomment @gol
-Wconversion -Wcoverage-mismatch -Wno-deprecated-declarations @gol
@@ -249,7 +249,6 @@ Objective-C and Objective-C++ Dialects}.
-Wsign-compare -Wstack-protector @gol
-Wstrict-aliasing -Wstrict-aliasing=2 @gol
-Wstrict-overflow -Wstrict-overflow=@var{n} @gol
--Wstring-literal-comparison @gol
-Wswitch -Wswitch-default -Wswitch-enum @gol
-Wsystem-headers -Wtrigraphs -Wundef -Wuninitialized @gol
-Wunknown-pragmas -Wno-pragmas -Wunreachable-code @gol
@@ -3381,18 +3380,27 @@ an incorrect result when the signed value is converted to unsigned.
This warning is also enabled by @option{-Wextra}; to get the other warnings
of @option{-Wextra} without this warning, use @samp{-Wextra -Wno-sign-compare}.
+@item -Waddress
+@opindex Waddress
+@opindex Wno-address
+Warn about suspicious uses of memory addresses. These include using
+the address of a function in a conditional expression, such as
+@code{void func(void); if (func)}, and comparisons against the memory
+address of a string literal, such as @code{if (x == "abc")}. Such
+uses typically indicate a programmer error: the address of a function
+always evaluates to true, so their use in a conditional usually
+indicate that the programmer forgot the parentheses in a function
+call; and comparisons against string literals result in unspecified
+behavior and are not portable in C, so they usually indicate that the
+programmer intended to use @code{strcmp}. This warning is enabled by
+@option{-Wall}.
+
@item -Waggregate-return
@opindex Waggregate-return
Warn if any functions that return structures or unions are defined or
called. (In languages where you can return an array, this also elicits
a warning.)
-@item -Walways-true
-@opindex Walways-true
-Warn about comparisons which are always true such as testing if
-unsigned values are greater than or equal to zero. This warning is
-enabled by @option{-Wall}.
-
@item -Wno-attributes
@opindex Wno-attributes
@opindex Wattributes
@@ -3742,15 +3750,6 @@ imply anything.
This option is only active when @option{-fstack-protector} is active. It
warns about functions that will not be protected against stack smashing.
-@item -Wstring-literal-comparison
-@opindex Wstring-literal-comparison
-Warn about suspicious comparisons to string literal constants. In C,
-direct comparisons against the memory address of a string literal, such
-as @code{if (x == "abc")}, typically indicate a programmer error, and
-even when intentional, result in unspecified behavior and are not portable.
-Usually these warnings alert that the programmer intended to use
-@code{strcmp}. This warning is enabled by @option{-Wall}.
-
@item -Woverlength-strings
@opindex Woverlength-strings
Warn about string constants which are longer than the ``minimum
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2101cee..1957a41 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,27 @@
+2007-02-19 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ * gcc.dg/20031012-1.c: Replace -Walways-true with -Waddress.
+ * gcc.dg/Walways-true-1.c: Likewise.
+ * gcc.dg/weak/weak-3.c: Likewise.
+ * gcc.dg/Werror-1.c: Likewise.
+ * gcc.dg/Werror-3.c: Likewise.
+ * gcc.dg/Werror-4.c: Likewise.
+ * gcc.dg/Werror-5.c: Likewise.
+ * gcc.dg/Werror-6.c: Likewise.
+ * gcc.dg/Werror-7.c: Likewise.
+ * gcc.dg/Werror-8.c: Likewise.
+ * gcc.dg/Werror-10.c: Likewise.
+ * gcc.dg/Werror-11.c: Likewise.
+ * gcc.dg/Werror-12.c: Likewise.
+ * g++.old-deja/g++.mike/warn8.C: Likewise.
+ * g++.dg/warn/Walways-true-1.C: Likewise.
+ * g++.dg/warn/Walways-true-2.C: Likewise.
+ * g++.dg/warn/noeffect8.C: Warn only with -Waddress.
+ * g++.dg/warn/Wstring-literal-comparison-1.C: Replace
+ -Wstring-literal-comparison with -Waddress.
+ * gcc.dg/Wstring-literal-comparison-4.c: Replace
+ -Wno-string-literal-comparison with -Wno-address.
+
2007-02-19 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/self_aggregate_with_call.adb: New test.
diff --git a/gcc/testsuite/g++.dg/warn/Walways-true-1.C b/gcc/testsuite/g++.dg/warn/Walways-true-1.C
index 5102ca1..6d22cce 100644
--- a/gcc/testsuite/g++.dg/warn/Walways-true-1.C
+++ b/gcc/testsuite/g++.dg/warn/Walways-true-1.C
@@ -1,8 +1,8 @@
-// Test -Walways-true for testing an address against NULL.
+// Test -Waddress for testing an address against NULL.
// Origin: Ian Lance Taylor <iant@google.com>
// { dg-do compile}
-// { dg-options "-Walways-true" }
+// { dg-options "-Waddress" }
extern int foo (int);
diff --git a/gcc/testsuite/g++.dg/warn/Walways-true-2.C b/gcc/testsuite/g++.dg/warn/Walways-true-2.C
index 5408566..51bc686 100644
--- a/gcc/testsuite/g++.dg/warn/Walways-true-2.C
+++ b/gcc/testsuite/g++.dg/warn/Walways-true-2.C
@@ -4,7 +4,7 @@
// Origin: Ian Lance Taylor <iant@google.com>
// { dg-do compile}
-// { dg-options "-Walways-true" }
+// { dg-options "-Waddress" }
// { dg-require-weak "" }
extern int foo (int) __attribute__ ((weak));
diff --git a/gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-1.C b/gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-1.C
index c5dea46..97e3176 100644
--- a/gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-1.C
+++ b/gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-1.C
@@ -1,6 +1,6 @@
/* PR c/7776 */
/* { dg-do compile } */
-/* { dg-options "-Wstring-literal-comparison" } */
+/* { dg-options "-Waddress" } */
int test1(char *ptr)
{
diff --git a/gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-4.C b/gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-4.C
index 27f25f3..f2a711a 100644
--- a/gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-4.C
+++ b/gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-4.C
@@ -1,6 +1,6 @@
/* PR c/7776 */
/* { dg-do compile } */
-/* { dg-options "-Wall -Wno-string-literal-comparison" } */
+/* { dg-options "-Wall -Wno-address" } */
int test1(char *ptr)
{
diff --git a/gcc/testsuite/g++.dg/warn/noeffect8.C b/gcc/testsuite/g++.dg/warn/noeffect8.C
index 4eb7f1b..48edfde 100644
--- a/gcc/testsuite/g++.dg/warn/noeffect8.C
+++ b/gcc/testsuite/g++.dg/warn/noeffect8.C
@@ -1,4 +1,6 @@
// PR c++/26696, 28996
+// { dg-do compile }
+// { dg-options "-Waddress" }
struct A
{
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/warn8.C b/gcc/testsuite/g++.old-deja/g++.mike/warn8.C
index 18b1937..ea9dfb8 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/warn8.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/warn8.C
@@ -1,5 +1,5 @@
// { dg-do assemble }
-// { dg-options "-Walways-true" }
+// { dg-options "-Waddress" }
struct foo {
bool test();
diff --git a/gcc/testsuite/gcc.dg/20031012-1.c b/gcc/testsuite/gcc.dg/20031012-1.c
index cdfed68..f83e1d3 100644
--- a/gcc/testsuite/gcc.dg/20031012-1.c
+++ b/gcc/testsuite/gcc.dg/20031012-1.c
@@ -1,4 +1,4 @@
-/* { dg-options "-Walways-true" } */
+/* { dg-options "-Waddress" } */
/* Origin: Andrew Morton <akpm@osdl.org> */
/* Warn if a function addres of a non-weak function is used
as a truth value. */
diff --git a/gcc/testsuite/gcc.dg/Walways-true-1.c b/gcc/testsuite/gcc.dg/Walways-true-1.c
index f531e8f..299932f 100644
--- a/gcc/testsuite/gcc.dg/Walways-true-1.c
+++ b/gcc/testsuite/gcc.dg/Walways-true-1.c
@@ -1,8 +1,8 @@
-/* Test -Walways-true for testing an address against NULL.
+/* Test -Waddress for testing an address against NULL.
Origin: Ian Lance Taylor <iant@google.com>. */
/* { dg-do compile} */
-/* { dg-options "-Walways-true" } */
+/* { dg-options "-Waddress" } */
extern int foo (int);
diff --git a/gcc/testsuite/gcc.dg/Walways-true-2.c b/gcc/testsuite/gcc.dg/Walways-true-2.c
index cab897b..c14857e 100644
--- a/gcc/testsuite/gcc.dg/Walways-true-2.c
+++ b/gcc/testsuite/gcc.dg/Walways-true-2.c
@@ -4,7 +4,7 @@
Origin: Ian Lance Taylor <iant@google.com>. */
/* { dg-do compile} */
-/* { dg-options "-Walways-true" } */
+/* { dg-options "-Waddress" } */
/* { dg-require-weak "" } */
extern int foo (int) __attribute__ ((weak));
diff --git a/gcc/testsuite/gcc.dg/Werror-1.c b/gcc/testsuite/gcc.dg/Werror-1.c
index d50e07c..7984740 100644
--- a/gcc/testsuite/gcc.dg/Werror-1.c
+++ b/gcc/testsuite/gcc.dg/Werror-1.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-Walways-true -Wattributes -Werror" } */
+/* { dg-options "-Waddress -Wattributes -Werror" } */
/* { dg-warning "warnings being treated as errors" "" {target "*-*-*"} 0 } */
/* This is the first in a series of test cases that test the
@@ -7,7 +7,7 @@
diagnostic error foo. This one has all the bits we're testing, the
others are subsets of this one. */
-#pragma GCC diagnostic error "-Walways-true"
+#pragma GCC diagnostic error "-Waddress"
void __attribute__((dj)) bar() { } /* { dg-warning "warning: .* attribute directive ignored" } */
diff --git a/gcc/testsuite/gcc.dg/Werror-10.c b/gcc/testsuite/gcc.dg/Werror-10.c
index 3e2c9df..eeadf51 100644
--- a/gcc/testsuite/gcc.dg/Werror-10.c
+++ b/gcc/testsuite/gcc.dg/Werror-10.c
@@ -4,7 +4,7 @@
/* Make sure #pragma can work with -Werror. */
-#pragma GCC diagnostic error "-Walways-true"
+#pragma GCC diagnostic error "-Waddress"
void __attribute__((dj)) bar() { } /* { dg-warning "warning: .* attribute directive ignored" } */
diff --git a/gcc/testsuite/gcc.dg/Werror-11.c b/gcc/testsuite/gcc.dg/Werror-11.c
index 14aae31..493ded0 100644
--- a/gcc/testsuite/gcc.dg/Werror-11.c
+++ b/gcc/testsuite/gcc.dg/Werror-11.c
@@ -4,7 +4,7 @@
/* Make sure #pragma can override -Werror. */
-#pragma GCC diagnostic warning "-Walways-true"
+#pragma GCC diagnostic warning "-Waddress"
void __attribute__((dj)) bar() { } /* { dg-warning "warning: .* attribute directive ignored" } */
diff --git a/gcc/testsuite/gcc.dg/Werror-12.c b/gcc/testsuite/gcc.dg/Werror-12.c
index 0cb1f78..4f0bd17 100644
--- a/gcc/testsuite/gcc.dg/Werror-12.c
+++ b/gcc/testsuite/gcc.dg/Werror-12.c
@@ -1,9 +1,9 @@
/* { dg-do compile } */
-/* { dg-options "-Wattributes -Walways-true" } */
+/* { dg-options "-Wattributes -Waddress" } */
/* Make sure #pragma can override -Wfoo. */
-#pragma GCC diagnostic ignored "-Walways-true"
+#pragma GCC diagnostic ignored "-Waddress"
void __attribute__((dj)) bar() { } /* { dg-warning "attribute directive ignored" } */
diff --git a/gcc/testsuite/gcc.dg/Werror-3.c b/gcc/testsuite/gcc.dg/Werror-3.c
index a994714..b95dd8b 100644
--- a/gcc/testsuite/gcc.dg/Werror-3.c
+++ b/gcc/testsuite/gcc.dg/Werror-3.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-Walways-true -Wattributes" } */
+/* { dg-options "-Waddress -Wattributes" } */
/* Make sure the command line option enables the warning. */
diff --git a/gcc/testsuite/gcc.dg/Werror-4.c b/gcc/testsuite/gcc.dg/Werror-4.c
index 45d217b3..2c66fc9 100644
--- a/gcc/testsuite/gcc.dg/Werror-4.c
+++ b/gcc/testsuite/gcc.dg/Werror-4.c
@@ -3,7 +3,7 @@
/* Make sure the pragma enables the error. */
-#pragma GCC diagnostic error "-Walways-true"
+#pragma GCC diagnostic error "-Waddress"
void __attribute__((dj)) bar() { } /* { dg-warning "warning: .* attribute directive ignored" } */
diff --git a/gcc/testsuite/gcc.dg/Werror-5.c b/gcc/testsuite/gcc.dg/Werror-5.c
index 3912590..40d3cd1 100644
--- a/gcc/testsuite/gcc.dg/Werror-5.c
+++ b/gcc/testsuite/gcc.dg/Werror-5.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-Walways-true -Wattributes -Werror" } */
+/* { dg-options "-Waddress -Wattributes -Werror" } */
/* { dg-warning "warnings being treated as errors" "" {target "*-*-*"} 0 } */
/* Make sure -Werror turns warnings in to errors. */
diff --git a/gcc/testsuite/gcc.dg/Werror-6.c b/gcc/testsuite/gcc.dg/Werror-6.c
index 11f28b0..62f0e4f 100644
--- a/gcc/testsuite/gcc.dg/Werror-6.c
+++ b/gcc/testsuite/gcc.dg/Werror-6.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-Wattributes -Werror=always-true" } */
+/* { dg-options "-Wattributes -Werror=address" } */
/* Make sure -Werror-foo emits an error and not a warning */
diff --git a/gcc/testsuite/gcc.dg/Werror-7.c b/gcc/testsuite/gcc.dg/Werror-7.c
index e667199..9829ce9 100644
--- a/gcc/testsuite/gcc.dg/Werror-7.c
+++ b/gcc/testsuite/gcc.dg/Werror-7.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-Walways-true -Werror -Wno-error=always-true -Wattributes" } */
+/* { dg-options "-Waddress -Werror -Wno-error=address -Wattributes" } */
/* { dg-warning "warnings being treated as errors" "" {target "*-*-*"} 0 } */
/* Make sure -Wno-error= overrides -Werror. */
diff --git a/gcc/testsuite/gcc.dg/Werror-8.c b/gcc/testsuite/gcc.dg/Werror-8.c
index ec70a2e..5051b7a 100644
--- a/gcc/testsuite/gcc.dg/Werror-8.c
+++ b/gcc/testsuite/gcc.dg/Werror-8.c
@@ -3,7 +3,7 @@
/* Make sure #pragma can enable a warning. */
-#pragma GCC diagnostic warning "-Walways-true"
+#pragma GCC diagnostic warning "-Waddress"
void __attribute__((dj)) bar() { } /* { dg-warning "warning: .* attribute directive ignored" } */
diff --git a/gcc/testsuite/gcc.dg/Werror-9.c b/gcc/testsuite/gcc.dg/Werror-9.c
index 5b28779..30326a4 100644
--- a/gcc/testsuite/gcc.dg/Werror-9.c
+++ b/gcc/testsuite/gcc.dg/Werror-9.c
@@ -3,7 +3,7 @@
/* Make sure #pragma can enable a warning as an error. */
-#pragma GCC diagnostic error "-Walways-true"
+#pragma GCC diagnostic error "-Waddress"
void __attribute__((dj)) bar() { } /* { dg-warning "warning: .* attribute directive ignored" } */
diff --git a/gcc/testsuite/gcc.dg/Wstring-literal-comparison-1.c b/gcc/testsuite/gcc.dg/Wstring-literal-comparison-1.c
index c5dea46..97e3176 100644
--- a/gcc/testsuite/gcc.dg/Wstring-literal-comparison-1.c
+++ b/gcc/testsuite/gcc.dg/Wstring-literal-comparison-1.c
@@ -1,6 +1,6 @@
/* PR c/7776 */
/* { dg-do compile } */
-/* { dg-options "-Wstring-literal-comparison" } */
+/* { dg-options "-Waddress" } */
int test1(char *ptr)
{
diff --git a/gcc/testsuite/gcc.dg/Wstring-literal-comparison-4.c b/gcc/testsuite/gcc.dg/Wstring-literal-comparison-4.c
index 27f25f3..f2a711a 100644
--- a/gcc/testsuite/gcc.dg/Wstring-literal-comparison-4.c
+++ b/gcc/testsuite/gcc.dg/Wstring-literal-comparison-4.c
@@ -1,6 +1,6 @@
/* PR c/7776 */
/* { dg-do compile } */
-/* { dg-options "-Wall -Wno-string-literal-comparison" } */
+/* { dg-options "-Wall -Wno-address" } */
int test1(char *ptr)
{
diff --git a/gcc/testsuite/gcc.dg/warn-addr-cmp.c b/gcc/testsuite/gcc.dg/warn-addr-cmp.c
index d8c9a21..6ad9473 100644
--- a/gcc/testsuite/gcc.dg/warn-addr-cmp.c
+++ b/gcc/testsuite/gcc.dg/warn-addr-cmp.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-weak "" } */
-/* { dg-options "-Walways-true" } */
+/* { dg-options "-Waddress" } */
/* Warning when addr convert to bool always gives known result.
Ada/Pascal programmers sometimes write 0-param functions without
(), and might as well warn on variables, too. */
diff --git a/gcc/testsuite/gcc.dg/weak/weak-3.c b/gcc/testsuite/gcc.dg/weak/weak-3.c
index 7182168..21e5fa0 100644
--- a/gcc/testsuite/gcc.dg/weak/weak-3.c
+++ b/gcc/testsuite/gcc.dg/weak/weak-3.c
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-require-alias "" } */
/* { dg-require-weak "" } */
-/* { dg-options "-fno-common -Walways-true" } */
+/* { dg-options "-fno-common -Waddress" } */
/* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1a" } } */
/* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1b" } } */