From: manu Date: Fri, 9 Apr 2010 15:45:52 +0000 (+0000) Subject: 2010-04-09 Manuel López-Ibáñez X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=093adfca51e08c68db6063fd29069fe9a1e4a123 2010-04-09 Manuel López-Ibáñez PR 42965 * diagnostic.c (diagnostic_initialize): Initialize some_warnings_are_errors. (diagnostic_finish): New. (diagnostic_action_after_output): Call it before exiting. (diagnostic_report_diagnostic): Do not print message here. Set some_warnings_are_errors. * diagnostic.h (diagnostic_context): Delete issue_warnings_are_errors_message. Add some_warnings_are_errors. (diagnostic_finish): Declare. * toplev.c (toplev_main): Call it before exit. testsuite/ * gcc.dg/Werror-6.c: Adjust. * gcc.dg/Werror-implicit-function-declaration.c: Likewise. * gcc.dg/Werror-4.c: Likewise. * gcc.dg/Wdeclaration-after-statement-3.c: Likewise. * gcc.dg/Wswitch-enum-error.c: Likewise. * gcc.dg/Wpointer-arith.c: Likewise. * gcc.dg/Wfatal.c: Likewise. * gcc.dg/Wswitch-error.c: Likewise. * g++.dg/warn/unused-result1-Werror.c: Likewise. * gcc.dg/Werror-9.c: Delete. Duplicate of Werror-4.c. * gcc.dg/cpp/warn-undef-2.c: Likewise. * gcc.dg/cpp/warn-traditional-2.c: Likewise. * gcc.dg/cpp/warn-comments-2.c: Likewise. * gcc.dg/cpp/warn-variadic-2.c: Likewise. * gcc.dg/cpp/warning-directive-2.c: Likewise. * gcc.dg/cpp/warn-long-long-2.c: Likewise. * gcc.dg/cpp/warn-deprecated-2.c: Likewise. * gcc.dg/cpp/warn-multichar-2.c: Likewise. * gcc.dg/cpp/warn-normalized-3.c: Likewise. * gcc.dg/cpp/warn-cxx-compat-2.c: Likewise. * gcc.dg/cpp/warn-trigraphs-3.c: Likewise. * gcc.dg/cpp/warn-unused-macros-2.c: Likewise. * gcc.dg/cpp/warn-trigraphs-4.c: Likewise. * gcc.dg/cpp/warn-redefined-2.c: Likewise. * g++.dg/cpp/warning-directive-2.C: Likewise. * gfortran.dg/warning-directive-2.F90: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158168 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0b1d34fe9ff..833aa845501 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +2010-04-09 Manuel López-Ibáñez + + PR 42965 + * diagnostic.c (diagnostic_initialize): Initialize + some_warnings_are_errors. + (diagnostic_finish): New. + (diagnostic_action_after_output): Call it before exiting. + (diagnostic_report_diagnostic): Do not print message here. Set + some_warnings_are_errors. + * diagnostic.h (diagnostic_context): Delete + issue_warnings_are_errors_message. Add some_warnings_are_errors. + (diagnostic_finish): Declare. + * toplev.c (toplev_main): Call it before exit. + 2010-04-09 Jason Merrill PR c++/42623 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f650835551e..0f2fd6517cd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,33 @@ +2010-04-09 Manuel López-Ibáñez + + PR 42965 + * gcc.dg/Werror-6.c: Adjust. + * gcc.dg/Werror-implicit-function-declaration.c: Likewise. + * gcc.dg/Werror-4.c: Likewise. + * gcc.dg/Wdeclaration-after-statement-3.c: Likewise. + * gcc.dg/Wswitch-enum-error.c: Likewise. + * gcc.dg/Wpointer-arith.c: Likewise. + * gcc.dg/Wfatal.c: Likewise. + * gcc.dg/Wswitch-error.c: Likewise. + * g++.dg/warn/unused-result1-Werror.c: Likewise. + * gcc.dg/Werror-9.c: Delete. Duplicate of Werror-4.c. + * gcc.dg/cpp/warn-undef-2.c: Likewise. + * gcc.dg/cpp/warn-traditional-2.c: Likewise. + * gcc.dg/cpp/warn-comments-2.c: Likewise. + * gcc.dg/cpp/warn-variadic-2.c: Likewise. + * gcc.dg/cpp/warning-directive-2.c: Likewise. + * gcc.dg/cpp/warn-long-long-2.c: Likewise. + * gcc.dg/cpp/warn-deprecated-2.c: Likewise. + * gcc.dg/cpp/warn-multichar-2.c: Likewise. + * gcc.dg/cpp/warn-normalized-3.c: Likewise. + * gcc.dg/cpp/warn-cxx-compat-2.c: Likewise. + * gcc.dg/cpp/warn-trigraphs-3.c: Likewise. + * gcc.dg/cpp/warn-unused-macros-2.c: Likewise. + * gcc.dg/cpp/warn-trigraphs-4.c: Likewise. + * gcc.dg/cpp/warn-redefined-2.c: Likewise. + * g++.dg/cpp/warning-directive-2.C: Likewise. + * gfortran.dg/warning-directive-2.F90: Likewise. + 2010-04-09 Jason Merrill PR c++/42623 diff --git a/gcc/testsuite/g++.dg/cpp/warning-directive-2.C b/gcc/testsuite/g++.dg/cpp/warning-directive-2.C index abd6427cd8a..c2efc172abe 100644 --- a/gcc/testsuite/g++.dg/cpp/warning-directive-2.C +++ b/gcc/testsuite/g++.dg/cpp/warning-directive-2.C @@ -1,4 +1,4 @@ // { dg-do preprocess } // { dg-options "-fdiagnostics-show-option -Werror=cpp" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ #warning "Printed" // { dg-error "\"Printed\" .-Wcpp." } diff --git a/gcc/testsuite/gcc.dg/Werror-3.c b/gcc/testsuite/gcc.dg/Werror-3.c deleted file mode 100644 index 97874075db2..00000000000 --- a/gcc/testsuite/gcc.dg/Werror-3.c +++ /dev/null @@ -1,15 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-Waddress -Wattributes" } */ - -/* Make sure the command line option enables the warning. */ - -void __attribute__((dj)) bar() { } /* { dg-warning ".* attribute directive ignored" } */ - -int i; - -void -foo () -{ - if (&i) /* { dg-warning ".* will always evaluate as 'true'" } */ - grill (); -} diff --git a/gcc/testsuite/gcc.dg/cpp/warn-comments-2.c b/gcc/testsuite/gcc.dg/cpp/warn-comments-2.c index 5a17f2bdcf2..107e6bf1fa2 100644 --- a/gcc/testsuite/gcc.dg/cpp/warn-comments-2.c +++ b/gcc/testsuite/gcc.dg/cpp/warn-comments-2.c @@ -1,6 +1,6 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -Werror=comments" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ /* /* */ // { dg-error "\"\.\*\" within comment .-Wcomments." } // \ diff --git a/gcc/testsuite/gcc.dg/cpp/warn-cxx-compat-2.c b/gcc/testsuite/gcc.dg/cpp/warn-cxx-compat-2.c index 6bf7d555e14..91cad7cfbeb 100644 --- a/gcc/testsuite/gcc.dg/cpp/warn-cxx-compat-2.c +++ b/gcc/testsuite/gcc.dg/cpp/warn-cxx-compat-2.c @@ -1,4 +1,4 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -Werror=c++-compat" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ #define not ! // { dg-error "identifier \"not\" is a special operator name in C\\+\\+ .-Wc\\+\\+-compat." } diff --git a/gcc/testsuite/gcc.dg/cpp/warn-deprecated-2.c b/gcc/testsuite/gcc.dg/cpp/warn-deprecated-2.c index b9cfffb9630..600e2f6a903 100644 --- a/gcc/testsuite/gcc.dg/cpp/warn-deprecated-2.c +++ b/gcc/testsuite/gcc.dg/cpp/warn-deprecated-2.c @@ -1,6 +1,6 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -Werror=deprecated" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ #assert x(x) // { dg-error "#assert is a deprecated GCC extension .-Wdeprecated." } #if #x(x) // { dg-error "assertions are a deprecated extension .-Wdeprecated." } diff --git a/gcc/testsuite/gcc.dg/cpp/warn-long-long-2.c b/gcc/testsuite/gcc.dg/cpp/warn-long-long-2.c index 11eb5fb2666..08fef13cdb4 100644 --- a/gcc/testsuite/gcc.dg/cpp/warn-long-long-2.c +++ b/gcc/testsuite/gcc.dg/cpp/warn-long-long-2.c @@ -1,6 +1,6 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -Wtraditional -Werror=long-long" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ #if 0LL // { dg-error "traditional C rejects the \"LL\" suffix .-Wlong-long." } // { dg-error "use of C99 long long integer constant .-Wlong-long." "use long long" { target *-*-* } 4 } #endif diff --git a/gcc/testsuite/gcc.dg/cpp/warn-multichar-2.c b/gcc/testsuite/gcc.dg/cpp/warn-multichar-2.c index 31d33bb9bb8..38d3a983dba 100644 --- a/gcc/testsuite/gcc.dg/cpp/warn-multichar-2.c +++ b/gcc/testsuite/gcc.dg/cpp/warn-multichar-2.c @@ -1,5 +1,5 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -Werror=multichar" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ #if 'abc' // { dg-error "multi-character character constant .-Wmultichar." } #endif diff --git a/gcc/testsuite/gcc.dg/cpp/warn-normalized-3.c b/gcc/testsuite/gcc.dg/cpp/warn-normalized-3.c index 380c670b8af..2040394a4ef 100644 --- a/gcc/testsuite/gcc.dg/cpp/warn-normalized-3.c +++ b/gcc/testsuite/gcc.dg/cpp/warn-normalized-3.c @@ -1,5 +1,5 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -fextended-identifiers -Werror=normalized=" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ // { dg-prune-output ".*-Werror=normalized=: Set -Wnormalized=nfc.*" } \u0F43 // { dg-error "`.U00000f43' is not in NFC .-Wnormalized=." } diff --git a/gcc/testsuite/gcc.dg/cpp/warn-redefined-2.c b/gcc/testsuite/gcc.dg/cpp/warn-redefined-2.c index 83cc3df7610..b943355c7ba 100644 --- a/gcc/testsuite/gcc.dg/cpp/warn-redefined-2.c +++ b/gcc/testsuite/gcc.dg/cpp/warn-redefined-2.c @@ -1,6 +1,6 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -Werror=builtin-macro-redefined" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ #ifndef __TIME__ #error "__TIME__ builtin is not defined" // { dg-bogus "__TIME__ builtin is not defined" "no-time" { target *-*-* } 5 } diff --git a/gcc/testsuite/gcc.dg/cpp/warn-traditional-2.c b/gcc/testsuite/gcc.dg/cpp/warn-traditional-2.c index cb5f690ccf7..5203c28d1e3 100644 --- a/gcc/testsuite/gcc.dg/cpp/warn-traditional-2.c +++ b/gcc/testsuite/gcc.dg/cpp/warn-traditional-2.c @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-std=gnu99 -fdiagnostics-show-option -Werror=traditional -Wno-deprecated -Wno-long-long" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ #assert x(x) // { dg-error "suggest hiding #assert from traditional C with an indented # .-Wtraditional." } #define X X // { dg-error "traditional C ignores #define with the # indented .-Wtraditional." } diff --git a/gcc/testsuite/gcc.dg/cpp/warn-trigraphs-3.c b/gcc/testsuite/gcc.dg/cpp/warn-trigraphs-3.c index a993e2a190c..586c363c6e9 100644 --- a/gcc/testsuite/gcc.dg/cpp/warn-trigraphs-3.c +++ b/gcc/testsuite/gcc.dg/cpp/warn-trigraphs-3.c @@ -1,4 +1,4 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -trigraphs -Werror=trigraphs" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ ??= // { dg-error "trigraph \\?\\?= converted to # .-Wtrigraphs." } diff --git a/gcc/testsuite/gcc.dg/cpp/warn-trigraphs-4.c b/gcc/testsuite/gcc.dg/cpp/warn-trigraphs-4.c index 240ae0f2175..ba0dd516492 100644 --- a/gcc/testsuite/gcc.dg/cpp/warn-trigraphs-4.c +++ b/gcc/testsuite/gcc.dg/cpp/warn-trigraphs-4.c @@ -1,4 +1,4 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -Werror=trigraphs" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ ??= // { dg-error "trigraph \\?\\?= ignored, use -trigraphs to enable .-Wtrigraphs." } diff --git a/gcc/testsuite/gcc.dg/cpp/warn-undef-2.c b/gcc/testsuite/gcc.dg/cpp/warn-undef-2.c index 4eb80e0e945..c9f873174ff 100644 --- a/gcc/testsuite/gcc.dg/cpp/warn-undef-2.c +++ b/gcc/testsuite/gcc.dg/cpp/warn-undef-2.c @@ -1,5 +1,5 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -Werror=undef" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ #if x // { dg-error "\"x\" is not defined .-Wundef." } #endif diff --git a/gcc/testsuite/gcc.dg/cpp/warn-unused-macros-2.c b/gcc/testsuite/gcc.dg/cpp/warn-unused-macros-2.c index 58eeebfcdd9..4bd679c81a1 100644 --- a/gcc/testsuite/gcc.dg/cpp/warn-unused-macros-2.c +++ b/gcc/testsuite/gcc.dg/cpp/warn-unused-macros-2.c @@ -1,4 +1,4 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -Werror=unused-macros" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ #define X X // { dg-error "macro \"X\" is not used .-Wunused-macros." } diff --git a/gcc/testsuite/gcc.dg/cpp/warn-variadic-2.c b/gcc/testsuite/gcc.dg/cpp/warn-variadic-2.c index f43d96ab81b..8b6d165786b 100644 --- a/gcc/testsuite/gcc.dg/cpp/warn-variadic-2.c +++ b/gcc/testsuite/gcc.dg/cpp/warn-variadic-2.c @@ -1,6 +1,6 @@ /* { dg-do preprocess } */ /* { dg-options "-ansi -fdiagnostics-show-option -pedantic -Werror=variadic-macros" } */ - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ #define F(...) X /* { dg-error "anonymous variadic macros were introduced in C99 .-Wvariadic-macros." } */ #define G(X...) X /* { dg-error "ISO C does not permit named variadic macros .-Wvariadic-macros." } */ diff --git a/gcc/testsuite/gcc.dg/cpp/warning-directive-2.c b/gcc/testsuite/gcc.dg/cpp/warning-directive-2.c index 0889803cd11..753b84a692e 100644 --- a/gcc/testsuite/gcc.dg/cpp/warning-directive-2.c +++ b/gcc/testsuite/gcc.dg/cpp/warning-directive-2.c @@ -1,4 +1,4 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -Werror=cpp" } - +/* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ #warning "Printed" // { dg-error "\"Printed\" .-Wcpp." } diff --git a/gcc/testsuite/gfortran.dg/warning-directive-2.F90 b/gcc/testsuite/gfortran.dg/warning-directive-2.F90 index 75b78bf6dd9..5b40d69f0f1 100644 --- a/gcc/testsuite/gfortran.dg/warning-directive-2.F90 +++ b/gcc/testsuite/gfortran.dg/warning-directive-2.F90 @@ -1,5 +1,5 @@ ! { dg-do preprocess } ! { dg-options "-std=f95 -fdiagnostics-show-option -Werror=cpp" } - +! { dg-warning "some warnings being treated as errors" "" {target "*-*-*"} 0 } #warning "Printed" ! { dg-error "\"Printed\" .-Wcpp." "" { target *-*-* } 4 }