diff options
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/io.c | 2 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr70006.f90 | 9 |
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 |