diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2016-07-30 18:18:49 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2016-07-30 18:18:49 +0000 |
commit | b6cb9b06f25129202a6dbe827cf4a74b23ff1dc0 (patch) | |
tree | a3a0ed6a9fcbc3e86119faa3baa064ae94db7fbe | |
parent | 4964b40cd05ce78674fba3f1db7f4c8e1879ebb0 (diff) |
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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238905 138bc75d-0d04-0410-961f-82ee72b054a4
-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 775276bc5c2..3c137ee199f 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 7c648e93cad..08812613aec 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 23da9ac4444..e0a688a76b2 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 d41cfcaa6c3..6ead1195b38 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 00000000000..b8fbb3c26ee --- /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 |