+2014-11-23 Tobias Burnus <burnus@net-b.de>
+ Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gfortran.h (gfc_option_t): Remove warn_tabs.
+ * lang.opt (Wpedantic): Add.
+ (Wtabs): Use Var and LangEnabledBy.
+ * options.c (gfc_init_options, gfc_post_options,
+ set_Wall): Remove -Wtabs handling.
+ (gfc_handle_option): Update -std=, remove OPT_Wtabs.
+ * scanner.c (gfc_gobble_whitespace): Update for
+ flag-variable renaming.
+ (load_line): Ditto. Pass warn flag to diagnostic.
+
2014-11-22 Tobias Burnus <burnus@net-b.de>
* trans-expr.c (gfc_caf_get_image_index): Fix image calculation.
int warn_implicit_procedure;
int warn_line_truncation;
int warn_surprising;
- int warn_tabs;
int warn_underflow;
int warn_intrinsic_shadow;
int warn_intrinsics_std;
Fortran
; Documented in C
+Wpedantic
+Fortran
+; Documented in common.opt
+
Wreal-q-constant
Fortran Warning
Warn about real-literal-constants with 'q' exponent-letter
Warn about \"suspicious\" constructs
Wtabs
-Fortran Warning
+Fortran Warning Var(warn_tabs) LangEnabledBy(Fortran,Wall)
Permit nonconforming uses of the tab character
+Wtabs
+LangEnabledBy(Fortran,Wpedantic)
+;
+
Wunderflow
Fortran Warning
Warn about underflow of numerical constant expressions
gfc_option.warn_implicit_interface = 0;
gfc_option.warn_line_truncation = 0;
gfc_option.warn_surprising = 0;
- gfc_option.warn_tabs = 1;
gfc_option.warn_underflow = 1;
gfc_option.warn_intrinsic_shadow = 0;
gfc_option.warn_intrinsics_std = 0;
gfc_option.flag_max_stack_var_size = 0;
if (pedantic)
- {
- gfc_option.warn_ampersand = 1;
- gfc_option.warn_tabs = 0;
- }
+ gfc_option.warn_ampersand = 1;
/* Optimization implies front end optimization, unless the user
specified it directly. */
gfc_option.gfc_warn_conversion = setting;
gfc_option.warn_line_truncation = setting;
gfc_option.warn_surprising = setting;
- gfc_option.warn_tabs = !setting;
gfc_option.warn_underflow = setting;
gfc_option.warn_intrinsic_shadow = setting;
gfc_option.warn_intrinsics_std = setting;
gfc_option.warn_surprising = value;
break;
- case OPT_Wtabs:
- gfc_option.warn_tabs = value;
- break;
-
case OPT_Wtarget_lifetime:
gfc_option.warn_target_lifetime = value;
break;
gfc_option.max_continue_free = 39;
gfc_option.max_identifier_length = 31;
gfc_option.warn_ampersand = 1;
- gfc_option.warn_tabs = 0;
+ warn_tabs = 1;
break;
case OPT_std_f2003:
gfc_option.warn_std = GFC_STD_F95_OBS;
gfc_option.max_identifier_length = 63;
gfc_option.warn_ampersand = 1;
- gfc_option.warn_tabs = 0;
+ warn_tabs = 1;
break;
case OPT_std_f2008:
gfc_option.warn_std = GFC_STD_F95_OBS | GFC_STD_F2008_OBS;
gfc_option.max_identifier_length = 63;
gfc_option.warn_ampersand = 1;
- gfc_option.warn_tabs = 0;
+ warn_tabs = 1;
break;
case OPT_std_f2008ts:
gfc_option.warn_std = GFC_STD_F95_OBS | GFC_STD_F2008_OBS;
gfc_option.max_identifier_length = 63;
gfc_option.warn_ampersand = 1;
- gfc_option.warn_tabs = 0;
+ warn_tabs = 1;
break;
case OPT_std_gnu:
/* Issue a warning for nonconforming tabs. We keep track of the line
number because the Fortran matchers will often back up and the same
line will be scanned multiple times. */
- if (!gfc_option.warn_tabs && c == '\t')
+ if (warn_tabs && c == '\t')
{
int cur_linenum = LOCATION_LINE (gfc_current_locus.lb->location);
if (cur_linenum != linenum)
{
found_tab = true;
- if (!gfc_option.warn_tabs && seen_comment == 0
- && current_line != linenum)
+ if (warn_tabs && seen_comment == 0 && current_line != linenum)
{
linenum = current_line;
- gfc_warning_now_2 ("Nonconforming tab character in column %d "
- "of line %d", i+1, linenum);
+ gfc_warning_now_2 (OPT_Wtabs,
+ "Nonconforming tab character in column %d "
+ "of line %d", i+1, linenum);
}
while (i < 6)
+2014-11-23 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/tab_continuation.f: Update dg-*.
+
2014-11-23 Andrew Pinski <apinski@cavium.com>
* gcc.c-torture/compile/20120927-1.c: New testcase.
!
! Allow <tab>1 to <tab>9 as continuation marker, which is a very common
! vendor extension.
+!
+! Note: The test suite is run with -pedantic-errors, which both enables
+! the tab warning (-pedantic implies -Wtabs) and turns it into errors
+! (-pedantic-errors hence implies -Werror=tabs).
!
PARAMETER (LUMIN=11,LUMAX=20,MAPMAX=256,NPLANEMAX=999)
INTEGER NAXIS(0:MAPMAX,LUMIN:LUMAX),NAXIS1(0:MAPMAX,LUMIN:LUMAX),
1NAXIS2(0:MAPMAX,LUMIN:LUMAX),NAXIS3(0:MAPMAX,LUMIN:LUMAX)
end
-! { dg-warning "Nonconforming tab character in column 1 of line 8" "Nonconforming tab" { target *-*-* } 0 }
-! { dg-warning "Nonconforming tab character in column 1 of line 9" "Nonconforming tab" { target *-*-* } 0 }
-! { dg-warning "Nonconforming tab character in column 1 of line 10" "Nonconforming tab" { target *-*-* } 0 }
-! { dg-warning "Nonconforming tab character in column 1 of line 11" "Nonconforming tab" { target *-*-* } 0 }
+! { dg-error "Nonconforming tab character in column 1 of line 12" "Nonconforming tab" { target *-*-* } 0 }
+! { dg-error "Nonconforming tab character in column 1 of line 13" "Nonconforming tab" { target *-*-* } 0 }
+! { dg-error "Nonconforming tab character in column 1 of line 14" "Nonconforming tab" { target *-*-* } 0 }
+! { dg-error "Nonconforming tab character in column 1 of line 15" "Nonconforming tab" { target *-*-* } 0 }
+! { dg-excess-errors "some warnings being treated as errors" }