Dear all, I am planning to commit the following patch as obvious (once Tobias has done the debugging) unless someone objects in the coming days.
Cheers, Dominique 2017-07-27 Dominique d'Humieres <domi...@lps.ens.fr> PR fortran/53542 * expr.c (gfc_check_init_expr): Use the renamed name. 2017-07-27 Dominique d'Humieres <domi...@lps.ens.fr> PR testsuite/53542 * gfortran.dg/use_30.f90: New test. --- ../_clean/gcc/fortran/expr.c 2017-06-04 21:41:26.000000000 +0200 +++ gcc/fortran/expr.c 2017-06-25 13:07:33.000000000 +0200 @@ -2591,7 +2591,7 @@ gfc_check_init_expr (gfc_expr *e) else gfc_error ("Parameter %qs at %L has not been declared or is " "a variable, which does not reduce to a constant " - "expression", e->symtree->n.sym->name, &e->where); + "expression", e->symtree->name, &e->where); break; --- ../_clean/gcc/testsuite/gfortran.dg/use_30.f90 1970-01-01 01:00:00.000000000 +0100 +++ gcc/testsuite/gfortran.dg/use_30.f90 2017-04-03 15:49:13.000000000 +0200 @@ -0,0 +1,17 @@ +! { dg-do compile } +! +! PR53542 USE-associated variables shows original instead of renamed symbol name +! Contributed by Tobias Burnus <bur...@gcc.gnu.org> +! +module select_precision + integer :: dp = kind(1.0) +end module select_precision + +module ode_types + use select_precision, only: wp => dp +contains + subroutine ode_derivative(x) + real(wp) :: x ! { dg-error "Parameter .wp. at .1. has not been declared" } + end subroutine ode_derivative +end module ode_types +end