re PR fortran/64522 (Free-form source code: -Wline-truncation is no longer enabled by default)

2015-01-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/64522
        * invoke.texi (Wline-truncation): Document new behaviour.
        * lang.opt (Wline-truncation): Add Init(-1).
        * options.c (gfc_post_options): If -Wline-truncation is unset,
        enable it for free-form source files; for the latter, also use
        -Werror=line-truncation, unless -Wno-error has been specified.

2015-01-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/64522
        * gfortran.dg/line_length_5.f90: Change dg-warning to dg-error
        and add dg-excess-errors.
        * gfortran.dg/line_length_6.f90: New.
        * gfortran.dg/line_length_7.f90: New.
        * gfortran.dg/line_length_8.f90: New.
        * gfortran.dg/line_length_9.f90: New.
        * gfortran.dg/line_length_10.f90: New.
        * gfortran.dg/line_length_11.f90: New.

From-SVN: r219424
This commit is contained in:
Tobias Burnus 2015-01-10 16:49:37 +01:00 committed by Tobias Burnus
parent ab018c8213
commit aecfd03520
13 changed files with 92 additions and 4 deletions

View file

@ -1,3 +1,12 @@
2015-01-10 Tobias Burnus <burnus@net-b.de>
PR fortran/64522
* invoke.texi (Wline-truncation): Document new behaviour.
* lang.opt (Wline-truncation): Add Init(-1).
* options.c (gfc_post_options): If -Wline-truncation is unset,
enable it for free-form source files; for the latter, also use
-Werror=line-truncation, unless -Wno-error has been specified.
2015-01-09 Michael Collison <michael.collison@linaro.org>
* convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,

View file

@ -790,7 +790,9 @@ Warn when a character assignment will truncate the assigned string.
@opindex @code{Wline-truncation}
@cindex warnings, line truncation
Warn when a source code line will be truncated. This option is
implied by @option{-Wall}.
implied by @option{-Wall}. For free-form source code, the default is
@option{-Werror=line-truncation} such that truncations are reported as
error.
@item -Wconversion
@opindex @code{Wconversion}

View file

@ -250,7 +250,7 @@ Fortran Warning Var(warn_implicit_procedure)
Warn about called procedures not explicitly declared
Wline-truncation
Fortran Warning Var(warn_line_truncation) LangEnabledBy(Fortran,Wall)
Fortran Warning Var(warn_line_truncation) LangEnabledBy(Fortran,Wall) Init(-1)
Warn about truncated source lines
Wintrinsics-std

View file

@ -314,7 +314,20 @@ gfc_post_options (const char **pfilename)
"in free form");
else if (gfc_option.flag_d_lines == 1)
gfc_warning_now ("%<-fd-lines-as-code%> has no effect in free form");
if (warn_line_truncation == -1)
warn_line_truncation = 1;
/* Enable -Werror=line-truncation when -Werror and -Wno-error have
not been set. */
if (warn_line_truncation && !global_options_set.x_warnings_are_errors
&& (global_dc->classify_diagnostic[OPT_Wline_truncation] ==
DK_UNSPECIFIED))
diagnostic_classify_diagnostic (global_dc, OPT_Wline_truncation,
DK_ERROR, UNKNOWN_LOCATION);
}
else if (warn_line_truncation == -1)
warn_line_truncation = 0;
/* If -pedantic, warn about the use of GNU extensions. */
if (pedantic && (gfc_option.allow_std & GFC_STD_GNU) != 0)

View file

@ -1,3 +1,15 @@
2015-01-10 Tobias Burnus <burnus@net-b.de>
PR fortran/64522
* gfortran.dg/line_length_5.f90: Change dg-warning to dg-error
and add dg-excess-errors.
* gfortran.dg/line_length_6.f90: New.
* gfortran.dg/line_length_7.f90: New.
* gfortran.dg/line_length_8.f90: New.
* gfortran.dg/line_length_9.f90: New.
* gfortran.dg/line_length_10.f90: New.
* gfortran.dg/line_length_11.f90: New.
2015-01-09 David Malcolm <dmalcolm@redhat.com>
* jit.dg/test-threads.c (struct testcase): Move declaration

View file

@ -0,0 +1,8 @@
! { dg-do compile }
! { dg-options "-Wno-line-truncation" }
!
! By default, for free-form source code: Error out
! But due to the explicit -Wno-line-truncation, compile w/o warning
!
print *, 1 + 2
end

View file

@ -0,0 +1,8 @@
! { dg-do compile }
! { dg-options "-Wno-all" }
!
! By default, for free-form source code: Error out
! But due to the explicit -Wno-all, compile w/o warning
!
print *, 1 + 2
end

View file

@ -15,4 +15,5 @@
end do
end subroutine foo
end
! { dg-warning "Line truncated" " " { target *-*-* } 8 }
! { dg-error "Line truncated" " " { target *-*-* } 8 }
! { dg-excess-errors "some warnings being treated as errors" }

View file

@ -2,5 +2,6 @@
! { dg-options "-Wline-truncation" }
print *, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
end
! { dg-warning "Line truncated" " " { target *-*-* } 3 }
! { dg-error "Line truncated" " " { target *-*-* } 3 }
! { dg-error "Unterminated character constant" " " { target *-*-* } 3 }
! { dg-excess-errors "some warnings being treated as errors" }

View file

@ -0,0 +1,8 @@
! { dg-do compile }
! { dg-options "" }
!
! By default, for free-form source code: Error out
!
print *, 1 + 2 ! { dg-error "Line truncated at .1." }
end
! { dg-excess-errors "some warnings being treated as errors" }

View file

@ -0,0 +1,8 @@
! { dg-do compile }
! { dg-options "-Wno-error" }
!
! By default, for free-form source code: Error out
! But due to -Wno-error, we only expect a warning
!
print *, 1 + 2 ! { dg-warning "Line truncated at .1." }
end

View file

@ -0,0 +1,9 @@
! { dg-do compile }
! { dg-options "-Wline-truncation" }
!
! By default, for free-form source code: Error out
! Even with -Wline-truncation, we still get an error
!
print *, 1 + 2 ! { dg-error "Line truncated at .1." }
end
! { dg-excess-errors "some warnings being treated as errors" }

View file

@ -0,0 +1,9 @@
! { dg-do compile }
! { dg-options "-Wall" }
!
! By default, for free-form source code: Error out
! Even with -Wall, we still get an error
!
print *, 1 + 2 ! { dg-error "Line truncated at .1." }
end
! { dg-excess-errors "some warnings being treated as errors" }