diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2009-09-24 21:53:36 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2009-09-24 21:53:36 +0000 |
commit | bbffcb7eab761f5223678e7153be5d51560c33eb (patch) | |
tree | a18fbbc34372ef34d15127a85a1e198e639d0e5a /gcc/fortran | |
parent | e3d5405d071e33540d70c62c6e24a2dfa7cc7d9d (diff) | |
download | gcc-bbffcb7eab761f5223678e7153be5d51560c33eb.zip gcc-bbffcb7eab761f5223678e7153be5d51560c33eb.tar.gz gcc-bbffcb7eab761f5223678e7153be5d51560c33eb.tar.bz2 |
re PR fortran/41459 (Error not printed with -Werror and -fmax-errors=1)
2009-09-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/41459
* gfortran.dg/empty_label.f: New test.
* gfortran.dg/empty_label.f90: Ditto.
* gfortran.dg/warnings_are_errors_1.f: Fix to emit a single warning.
2009-09-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/41459
* error.c(gfc_warning_now): Move warnings_are_errors test to
after actual emitting of the warning.
* parse.c (next_free): Improve error locus printing.
(next_fixed): Change gfc_warn to gfc_warning_now, and improve
locus reporting.
From-SVN: r152147
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/fortran/error.c | 6 | ||||
-rw-r--r-- | gcc/fortran/parse.c | 5 |
3 files changed, 17 insertions, 4 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 9c9744b..650adca 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,13 @@ +2009-09-24 Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/41459 + * error.c(gfc_warning_now): Move warnings_are_errors test to + after actual emitting of the warning. + * parse.c (next_free): Improve error locus printing. + (next_fixed): Change gfc_warn to gfc_warning_now, and improve + locus reporting. + + 2009-09-16 Michael Matz <matz@suse.de> PR fortran/41212 diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c index 9d5453e..88c2883 100644 --- a/gcc/fortran/error.c +++ b/gcc/fortran/error.c @@ -821,14 +821,16 @@ gfc_warning_now (const char *nocmsgid, ...) i = buffer_flag; buffer_flag = 0; warnings++; - if (warnings_are_errors) - gfc_increment_error_count(); va_start (argp, nocmsgid); error_print (_("Warning:"), _(nocmsgid), argp); va_end (argp); error_char ('\0'); + + if (warnings_are_errors) + gfc_increment_error_count(); + buffer_flag = i; } diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index e743989..93a6cfd 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -655,7 +655,7 @@ next_free (void) if (gfc_match_eos () == MATCH_YES) { gfc_warning_now ("Ignoring statement label in empty statement " - "at %C"); + "at %L", &label_locus); gfc_free_st_label (gfc_statement_label); gfc_statement_label = NULL; return ST_NONE; @@ -848,7 +848,8 @@ next_fixed (void) blank_line: if (digit_flag) - gfc_warning ("Ignoring statement label in empty statement at %C"); + gfc_warning_now ("Ignoring statement label in empty statement at %L", + &label_locus); gfc_current_locus.lb->truncated = 0; gfc_advance_line (); |