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

Reply via email to