aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernhard Fischer <aldot@gcc.gnu.org>2006-11-05 15:57:24 +0100
committerBernhard Reutner-Fischer <aldot@gcc.gnu.org>2006-11-05 15:57:24 +0100
commitf4d4085c10bb2b4d6f9ca4524adfc0b809c7cf20 (patch)
treea64dcfdd3cf6ab9e0f100febf122fcb3b2bfb5e1 /gcc
parent7945be3f1907da2c7cbf5737d1c85f51ee55ef68 (diff)
downloadgcc-f4d4085c10bb2b4d6f9ca4524adfc0b809c7cf20.zip
gcc-f4d4085c10bb2b4d6f9ca4524adfc0b809c7cf20.tar.gz
gcc-f4d4085c10bb2b4d6f9ca4524adfc0b809c7cf20.tar.bz2
re PR fortran/21061 (gfortran ignores -Werror)
2006-11-05 Bernhard Fischer <aldot@gcc.gnu.org> 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog8
-rw-r--r--gcc/fortran/error.c16
2 files changed, 20 insertions, 4 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index e22e33f..7947f4a 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,11 @@
+2006-11-05 Bernhard Fischer <aldot@gcc.gnu.org>
+
+ 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 <fxcoudert@gcc.gnu,org>
Paul Thomas <pault@gcc.gnu.org>
diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c
index e532830..dc4a6cf 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);