diff options
author | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2014-12-03 17:50:06 +0000 |
---|---|---|
committer | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2014-12-03 17:50:06 +0000 |
commit | 48749dbcc461753861059d1fc48c40d2e0aefaa2 (patch) | |
tree | ffa63d8c289a7c4e01689478d728abff9b4c33ab /gcc/fortran/trans-common.c | |
parent | d6d34aa9133afdee0ca74b354a72cb720f431c1a (diff) | |
download | gcc-48749dbcc461753861059d1fc48c40d2e0aefaa2.zip gcc-48749dbcc461753861059d1fc48c40d2e0aefaa2.tar.gz gcc-48749dbcc461753861059d1fc48c40d2e0aefaa2.tar.bz2 |
re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
gcc/testsuite/ChangeLog:
2014-12-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/44054
* gfortran.dg/warnings_are_errors_1.f90: Update warnings to errors.
* gfortran.dg/warnings_are_errors_1.f: Likewise.
gcc/fortran/ChangeLog:
2014-12-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/44054
* gfortran.h (gfc_warning): Now returns bool. Add overload that
accepts opt.
(gfc_warning_1): Declare.
* error.c
(pp_warning_buffer,warningcount_buffered,werrorcount_buffered): New.
(gfc_buffer_error): Set pp_warning_buffer.flush_p.
(gfc_clear_pp_buffer): New.
(gfc_warning_1): Renamed from gfc_warning.
(gfc_warning): Add three new overloads. One that takes just a
format string and ellipsis, another that takes also a warning
option, and another that takes also va_list instead of ellipsis.
(gfc_clear_warning): Clear pp_warning_buffer.
(gfc_warning_check): Flush pp_warning_buffer and update warning
and werror counters.
(gfc_diagnostics_init): Init pp_warning_buffer.
* Update all gfc_warning calls that do not multiple
locations to use %qs and OPT_W*, otherwise use gfc_warning_1.
gcc/ChangeLog:
2014-12-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/44054
* pretty-print.c (output_buffer::output_buffer): Init flush_p to true.
(pp_flush): Flush only if flush_p.
(pp_really_flush): New.
* pretty-print.h (struct output_buffer): Add flush_p.
(pp_really_flush): Declare.
From-SVN: r218326
Diffstat (limited to 'gcc/fortran/trans-common.c')
-rw-r--r-- | gcc/fortran/trans-common.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/gcc/fortran/trans-common.c b/gcc/fortran/trans-common.c index 0b4f5e6..f5d831f 100644 --- a/gcc/fortran/trans-common.c +++ b/gcc/fortran/trans-common.c @@ -397,7 +397,7 @@ build_common_decl (gfc_common_head *com, tree union_type, bool is_init) blank common blocks may be of different sizes. */ if (!tree_int_cst_equal (DECL_SIZE_UNIT (decl), size) && strcmp (com->name, BLANK_COMMON_NAME)) - gfc_warning ("Named COMMON block '%s' at %L shall be of the " + gfc_warning ("Named COMMON block %qs at %L shall be of the " "same size as elsewhere (%lu vs %lu bytes)", com->name, &com->where, (unsigned long) TREE_INT_CST_LOW (size), @@ -1136,12 +1136,12 @@ translate_common (gfc_common_head *common, gfc_symbol *var_list) if (warn_align_commons) { if (strcmp (common->name, BLANK_COMMON_NAME)) - gfc_warning ("Padding of %d bytes required before '%s' in " - "COMMON '%s' at %L; reorder elements or use " + gfc_warning ("Padding of %d bytes required before %qs in " + "COMMON %qs at %L; reorder elements or use " "-fno-align-commons", (int)offset, s->sym->name, common->name, &common->where); else - gfc_warning ("Padding of %d bytes required before '%s' in " + gfc_warning ("Padding of %d bytes required before %qs in " "COMMON at %L; reorder elements or use " "-fno-align-commons", (int)offset, s->sym->name, &common->where); @@ -1170,12 +1170,14 @@ translate_common (gfc_common_head *common, gfc_symbol *var_list) if (common_segment->offset != 0 && warn_align_commons) { if (strcmp (common->name, BLANK_COMMON_NAME)) - gfc_warning ("COMMON '%s' at %L requires %d bytes of padding; " - "reorder elements or use -fno-align-commons", + gfc_warning (OPT_Walign_commons, + "COMMON %qs at %L requires %d bytes of padding; " + "reorder elements or use %<-fno-align-commons%>", common->name, &common->where, (int)common_segment->offset); else - gfc_warning ("COMMON at %L requires %d bytes of padding; " - "reorder elements or use -fno-align-commons", + gfc_warning (OPT_Walign_commons, + "COMMON at %L requires %d bytes of padding; " + "reorder elements or use %<-fno-align-commons%>", &common->where, (int)common_segment->offset); } |