From f4d4085c10bb2b4d6f9ca4524adfc0b809c7cf20 Mon Sep 17 00:00:00 2001 From: Bernhard Fischer Date: Sun, 5 Nov 2006 15:57:24 +0100 Subject: [PATCH] re PR fortran/21061 (gfortran ignores -Werror) 2006-11-05 Bernhard Fischer PR fortran/21061 * error.c (gfc_warning): If warnings_are_errors then treat warnings as errors with respect to the exit code. (gfc_notify_std): Ditto. (gfc_warning_now): Ditto. From-SVN: r118501 --- gcc/fortran/ChangeLog | 8 ++++++++ gcc/fortran/error.c | 16 ++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index e22e33fa4b1..7947f4a65d4 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,11 @@ +2006-11-05 Bernhard Fischer + + PR fortran/21061 + * error.c (gfc_warning): If warnings_are_errors then treat + warnings as errors with respect to the exit code. + (gfc_notify_std): Ditto. + (gfc_warning_now): Ditto. + 2006-11-05 Francois-Xavier Coudert Paul Thomas diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c index e532830882c..dc4a6cf1fbc 100644 --- a/gcc/fortran/error.c +++ b/gcc/fortran/error.c @@ -476,7 +476,12 @@ gfc_warning (const char *nocmsgid, ...) va_start (argp, nocmsgid); if (buffer_flag == 0) + { warnings++; + if (warnings_are_errors) + errors++; + } + error_print (_("Warning:"), _(nocmsgid), argp); va_end (argp); @@ -519,14 +524,15 @@ gfc_notify_std (int std, const char *nocmsgid, ...) if (gfc_suppress_error) return warning ? SUCCESS : FAILURE; - - cur_error_buffer = warning ? &warning_buffer : &error_buffer; + + cur_error_buffer = (warning && !warnings_are_errors) + ? &warning_buffer : &error_buffer; cur_error_buffer->flag = 1; cur_error_buffer->index = 0; if (buffer_flag == 0) { - if (warning) + if (warning && !warnings_are_errors) warnings++; else errors++; @@ -539,7 +545,7 @@ gfc_notify_std (int std, const char *nocmsgid, ...) va_end (argp); error_char ('\0'); - return warning ? SUCCESS : FAILURE; + return (warning && !warnings_are_errors) ? SUCCESS : FAILURE; } @@ -557,6 +563,8 @@ gfc_warning_now (const char *nocmsgid, ...) i = buffer_flag; buffer_flag = 0; warnings++; + if (warnings_are_errors) + errors++; va_start (argp, nocmsgid); error_print (_("Warning:"), _(nocmsgid), argp); -- 2.30.2