diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f5213144216..631441488db 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,21 @@ +2007-02-19 Manuel Lopez-Ibanez + + * 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 * tree-cfg.c (dump_function_to_file): Be prepared for functions diff --git a/gcc/c-common.c b/gcc/c-common.c index d9a826d1d96..51fd22672cf 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 %", inner); return truthvalue_true_node; diff --git a/gcc/c-opts.c b/gcc/c-opts.c index 76ad8271d72..2839e6683d0 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 f6ba19e2842..d3495a9f71d 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 512882bc64b..c384f52b3a4 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 c6a95574be9..1be3b748d01 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 a1f948d8fe9..0c6b90d7edd 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2007-02-19 Manuel Lopez-Ibanez + + * 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 * decl.c, tree.c: Fix comment typos. diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c index 497179b3bbc..4e628a5dd92 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 68b7a04eff4..63f03ccecde 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 2417a73d20a..57cc6e1c660 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 3bc4d900184..047104c7391 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 2101ceed194..1957a416ed4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,27 @@ +2007-02-19 Manuel Lopez-Ibanez + + * 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 * 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 5102ca1a377..6d22cce993b 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 // { 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 540856650e6..51bc6862761 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 // { 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 c5dea463b51..97e317644d5 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 27f25f3ca98..f2a711aeb71 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 4eb7f1bd1af..48edfdea685 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 18b193722d3..ea9dfb8681c 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 cdfed68e09a..f83e1d3f57c 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 */ /* 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 f531e8f4b79..299932fcf55 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 . */ /* { 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 cab897b4e3d..c14857eaee6 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 . */ /* { 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 d50e07c45f2..7984740ca88 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 3e2c9dffa4f..eeadf512b5b 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 14aae3129f8..493ded044a8 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 0cb1f78f805..4f0bd17623b 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 a994714446c..b95dd8b6a3d 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 45d217b3233..2c66fc9d477 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 39125904dfa..40d3cd1f7ad 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 11f28b0aa6a..62f0e4f4041 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 e6671991f5a..9829ce9e4f7 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 ec70a2e8eab..5051b7aa47c 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 5b287793f55..30326a4799a 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 c5dea463b51..97e317644d5 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 27f25f3ca98..f2a711aeb71 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 d8c9a219084..6ad94731aff 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 7182168cfc4..21e5fa09c28 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" } } */