aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/io.c2
-rw-r--r--gcc/fortran/resolve.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/pr70006.f909
5 files changed, 22 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 775276b..3c137ee 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,11 @@
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
* decl.c (char_len_param_value): Check return value of
gfc_reduce_init_expr().
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c
index 7c648e9..0881261 100644
--- a/gcc/fortran/io.c
+++ b/gcc/fortran/io.c
@@ -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;
}
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 23da9ac..e0a688a 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -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;
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d41cfca..6ead119 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
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
* gfortran.dg/pr71730.f90: New test.
* gfortran.dg/bounds_check_strlen_2.f90: Fix invalid code.
diff --git a/gcc/testsuite/gfortran.dg/pr70006.f90 b/gcc/testsuite/gfortran.dg/pr70006.f90
new file mode 100644
index 0000000..b8fbb3c
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr70006.f90
@@ -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