re PR fortran/70006 (Duplicate errors "label not defined")
authorSteven G. Kargl <kargl@gcc.gnu.org>
Sat, 30 Jul 2016 18:18:49 +0000 (18:18 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Sat, 30 Jul 2016 18:18:49 +0000 (18:18 +0000)
2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/70006
* io.c (gfc_resolve_dt): Use correct locus.
* resolve.c (resolve_branch): Ditto.

2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/70006
* gfortran.dg/pr70006.f90: New test.

From-SVN: r238905

gcc/fortran/ChangeLog
gcc/fortran/io.c
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr70006.f90 [new file with mode: 0644]

index 775276bc5c2914c7d7cf8a27388fc1c201abb649..3c137ee199f67e6310fd30be73d2b98a74a10bb4 100644 (file)
@@ -1,3 +1,9 @@
+2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/70006
+       * io.c (gfc_resolve_dt): Use correct locus.
+       * resolve.c (resolve_branch): Ditto.
+
 2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        PR fortran/71730
index 7c648e93cad6f9e1eaa982c5a01960c4a7cd3014..08812613aecf45286a592d60617de5ed9276b710 100644 (file)
@@ -3052,7 +3052,7 @@ gfc_resolve_dt (gfc_dt *dt, locus *loc)
       && dt->format_label->defined == ST_LABEL_UNKNOWN)
     {
       gfc_error ("FORMAT label %d at %L not defined", dt->format_label->value,
-                &dt->format_label->where);
+                loc);
       return false;
     }
 
index 23da9ac444443391e7b1e64e440a4ba4d2d7bfbf..e0a688a76b26c2aab45750b6ed22b496dbcebf39 100644 (file)
@@ -8966,7 +8966,7 @@ resolve_branch (gfc_st_label *label, gfc_code *code)
   if (label->defined == ST_LABEL_UNKNOWN)
     {
       gfc_error ("Label %d referenced at %L is never defined", label->value,
-                &label->where);
+                &code->loc);
       return;
     }
 
index d41cfcaa6c315657edf505255c3bf6d227874d41..6ead1195b38f2852e97b9d892c027667021c8660 100644 (file)
@@ -1,3 +1,8 @@
+2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/70006
+       * gfortran.dg/pr70006.f90: New test.
+
 2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        PR fortran/71730
diff --git a/gcc/testsuite/gfortran.dg/pr70006.f90 b/gcc/testsuite/gfortran.dg/pr70006.f90
new file mode 100644 (file)
index 0000000..b8fbb3c
--- /dev/null
@@ -0,0 +1,9 @@
+! { dg-do compile}
+program test
+   print 1, 'string 1' ! { dg-error "FORMAT label 1" " " { target *-*-* } 3 }
+   print 1, 'string 2' ! { dg-error "FORMAT label 1" " " { target *-*-* } 4 }
+!1 format(a)
+   goto 2 ! { dg-error "Label 2 referenced" " " { target *-*-* } 6 }
+   goto 2 ! { dg-error "Label 2 referenced" " " { target *-*-* } 7 }
+!2 continue
+end program