re PR fortran/60774 (f951: internal compiler error: Segmentation fault: 11)
authorSteven G. Kargl <kargl@gcc.gnu.org>
Mon, 22 Aug 2016 18:23:43 +0000 (18:23 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Mon, 22 Aug 2016 18:23:43 +0000 (18:23 +0000)
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

gcc/fortran/ChangeLog
gcc/fortran/parse.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/empty_label.f
gcc/testsuite/gfortran.dg/empty_label.f90
gcc/testsuite/gfortran.dg/empty_label_typedecl.f90
gcc/testsuite/gfortran.dg/label_3.f90 [deleted file]
gcc/testsuite/gfortran.dg/warnings_are_errors_1.f90

index a7be7c6ffd6098f4e91fa1809e45fa2e55d6b6f7..3000e919f6b3d52cc5050a17b596902bc9f6140c 100644 (file)
@@ -1,3 +1,10 @@
+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
index bd7b1384a0c81d839f9f08fa9a143cbd9dc6151f..deba4311f2aec55b7e57ab7221ad79c028ea36c6 100644 (file)
@@ -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 ();
index 9cc5fb51739077175fdc49317eb1ee9df5d5bca6..013cee3798ab2d705e21a1840c2ba8afd66ea9d0 100644 (file)
@@ -1,3 +1,12 @@
+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
index fe1665228d3535ed8f368285269f052cafd1f51c..e66cb877d2ef9266423ce691076ec8d1fe1d12a6 100644 (file)
@@ -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" }
+
index af067b5f57a79b0cf94a24558005538c2ac730fb..eb7bc512953a658334dc613fc145f5406a8593c6 100644 (file)
@@ -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" }
index c85e5be8d084599f782d2abab58e0d386c08652d..d4e7f4781ae546c863206af3b2b7dca5f16fb562 100644 (file)
@@ -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 (file)
index 5cebe93..0000000
+++ /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
index 6fcd29adebd84818b43596e3ab515e3369d70f8c..150f2346a4faf72347d76b1ce7b9b1717da556ce 100644 (file)
@@ -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" }