diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2016-08-22 18:23:43 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2016-08-22 18:23:43 +0000 |
commit | 58338bacdd63bfa128d5884e7ceeb47a4431d1ad (patch) | |
tree | 44b65a190f59341048102a9f33002562c72f04b0 /gcc | |
parent | 30364ce673723a466def350c7378ddd3cc0c6c87 (diff) | |
download | gcc-58338bacdd63bfa128d5884e7ceeb47a4431d1ad.zip gcc-58338bacdd63bfa128d5884e7ceeb47a4431d1ad.tar.gz gcc-58338bacdd63bfa128d5884e7ceeb47a4431d1ad.tar.bz2 |
re PR fortran/60774 (f951: internal compiler error: Segmentation fault: 11)
2016-08-22 Steven G. Kargl <kargl@gcc.gnu.org>
Bud Davis <jmdavis@link.com>
PR fortran/60774
* parse.c (next_free,next_fixed): Issue error for statement label
without a statement.
2016-08-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/60774
* gfortran.dg/empty_label.f: Adjust test for new error message.
* gfortran.dg/empty_label.f90: Ditto.
* gfortran.dg/empty_label_typedecl.f90: Ditto.
* gfortran.dg/label_3.f90: Deleted (redundant with empty_label.f90).
* gfortran.dg/warnings_are_errors_1.f90: Remove invalid statement label.
Co-Authored-By: Bud Davis <jmdavis@link.com>
From-SVN: r239668
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/fortran/parse.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/empty_label.f | 7 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/empty_label.f90 | 6 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/empty_label_typedecl.f90 | 4 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/label_3.f90 | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/warnings_are_errors_1.f90 | 2 |
8 files changed, 23 insertions, 29 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index a7be7c6..3000e91 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,4 +1,11 @@ 2016-08-22 Steven G. Kargl <kargl@gcc.gnu.org> + Bud Davis <jmdavis@link.com> + + PR fortran/60774 + * parse.c (next_free,next_fixed): Issue error for statement label + without a statement. + +2016-08-22 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/61318 * interface.c (compare_parameter): Use better locus for error message. diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index bd7b138..deba431 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -1071,13 +1071,8 @@ next_free (void) } if (gfc_match_eos () == MATCH_YES) - { - gfc_warning_now (0, "Ignoring statement label in empty statement " - "at %L", &label_locus); - gfc_free_st_label (gfc_statement_label); - gfc_statement_label = NULL; - return ST_NONE; - } + gfc_error_now ("Statement label without statement at %L", + &label_locus); } } else if (c == '!') @@ -1333,8 +1328,7 @@ next_fixed (void) blank_line: if (digit_flag) - gfc_warning_now (0, "Ignoring statement label in empty statement at %L", - &label_locus); + gfc_error_now ("Statement label without statement at %L", &label_locus); gfc_current_locus.lb->truncated = 0; gfc_advance_line (); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9cc5fb5..013cee3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,14 @@ 2016-08-22 Steven G. Kargl <kargl@gcc.gnu.org> + PR fortran/60774 + * gfortran.dg/empty_label.f: Adjust test for new error message. + * gfortran.dg/empty_label.f90: Ditto. + * gfortran.dg/empty_label_typedecl.f90: Ditto. + * gfortran.dg/label_3.f90: Deleted (redundant with empty_label.f90). + * gfortran.dg/warnings_are_errors_1.f90: Remove invalid statement label. + +2016-08-22 Steven G. Kargl <kargl@gcc.gnu.org> + PR fortran/61318 * gfortran.dg/pr61318.f90: New test. diff --git a/gcc/testsuite/gfortran.dg/empty_label.f b/gcc/testsuite/gfortran.dg/empty_label.f index fe16652..e66cb87 100644 --- a/gcc/testsuite/gfortran.dg/empty_label.f +++ b/gcc/testsuite/gfortran.dg/empty_label.f @@ -1,7 +1,4 @@ C { dg-do compile } -C { dg-options "-Werror -fmax-errors=1" } -100 ! { dg-error "empty statement" } +100 ! { dg-error "Statement label without statement" } end -subroutine foo ! Not checked ... -end function ! ... but an error -C { dg-excess-errors "warnings being treated as errors" } + diff --git a/gcc/testsuite/gfortran.dg/empty_label.f90 b/gcc/testsuite/gfortran.dg/empty_label.f90 index af067b5..eb7bc51 100644 --- a/gcc/testsuite/gfortran.dg/empty_label.f90 +++ b/gcc/testsuite/gfortran.dg/empty_label.f90 @@ -1,7 +1,3 @@ ! { dg-do compile } -! { dg-options "-Werror -fmax-errors=1" } -100 ! { dg-error "empty statement" } +100 ! { dg-error "Statement label without statement" } end -subroutine foo ! Not checked ... -end function ! ... but an error -! { dg-excess-errors "warnings being treated as errors" } diff --git a/gcc/testsuite/gfortran.dg/empty_label_typedecl.f90 b/gcc/testsuite/gfortran.dg/empty_label_typedecl.f90 index c85e5be..d4e7f47 100644 --- a/gcc/testsuite/gfortran.dg/empty_label_typedecl.f90 +++ b/gcc/testsuite/gfortran.dg/empty_label_typedecl.f90 @@ -1,8 +1,6 @@ ! { dg-do compile } -! { dg-options "-Werror" } subroutine s type t - 1 ! { dg-error "empty statement" } + 1 ! { dg-error "Statement label without statement" } end type end subroutine -! { dg-excess-errors "warnings being treated as errors" } diff --git a/gcc/testsuite/gfortran.dg/label_3.f90 b/gcc/testsuite/gfortran.dg/label_3.f90 deleted file mode 100644 index 5cebe93..0000000 --- a/gcc/testsuite/gfortran.dg/label_3.f90 +++ /dev/null @@ -1,5 +0,0 @@ -! { dg-do compile } -! PR fortran/25756. -! This used to ICE due to the space after the label. -1 ! { dg-warning "Ignoring statement label in empty statement" } -end diff --git a/gcc/testsuite/gfortran.dg/warnings_are_errors_1.f90 b/gcc/testsuite/gfortran.dg/warnings_are_errors_1.f90 index 6fcd29a..150f234 100644 --- a/gcc/testsuite/gfortran.dg/warnings_are_errors_1.f90 +++ b/gcc/testsuite/gfortran.dg/warnings_are_errors_1.f90 @@ -20,8 +20,6 @@ 1234 complex :: cplx ! { dg-error "defined but cannot be used" } cplx = 20. -! gfc_warning_now: - 1 ! { dg-error "Ignoring statement label in empty statement" } end ! { dg-final { output-exists-not } } ! { dg-excess-errors "warnings being treated as errors" } |