]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR fortran/70006 (Duplicate errors "label not defined")
authorSteven G. Kargl <kargl@gcc.gnu.org>
Fri, 30 Sep 2016 15:50:31 +0000 (15:50 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Fri, 30 Sep 2016 15:50:31 +0000 (15:50 +0000)
2016-09-30  Steven G. Kargl  <kargl@gcc.gnu.org>

Backport from trunk

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

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

Backport from trunk

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

From-SVN: r240659

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 4895cfc2d26938e3e68e5b61d30649493fcf3452..abf854cfab18b17760eb9204f1ea6f22ae18f059 100644 (file)
@@ -1,3 +1,11 @@
+2016-09-30  Steven G. Kargl  <kargl@gcc.gnu.org>
+       Backport from trunk
+
+       PR fortran/70006
+       * io.c (gfc_resolve_dt): Use correct locus.
+       * resolve.c (resolve_branch): Ditto.
+
 2016-09-29  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        Backport from trunk
index d51587ca56f12df4349f4585fd09727ed0c796e7..b41d8f293c9a84f2bd30243138ae2a73d656b49d 100644 (file)
@@ -3050,7 +3050,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 9a8bd9adaa1f4032d65e3fa4e25e8497df7b5a3a..9aacf836c9c01b4252acceba783b652fa70599c9 100644 (file)
@@ -8752,7 +8752,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 96e4718e8a843e5dce8447b61107a5e2aa0949e2..bc22bd8ed4729793437ad63dce3352bdd4f8f6e7 100644 (file)
@@ -1,3 +1,10 @@
+2016-09-30  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       Backport from trunk
+       PR fortran/70006
+       * gfortran.dg/pr70006.f90: New test.
+
 2016-09-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
        Backport from trunk
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