https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90786
--- Comment #13 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- Author: tkoenig Date: Sat Aug 3 11:50:39 2019 New Revision: 274038 URL: https://gcc.gnu.org/viewcvs?rev=274038&root=gcc&view=rev Log: 2019-08-03 Thomas Koenig <tkoe...@gcc.gnu.org> Paul Thomas <pa...@gcc.gnu.org> Backport from trunk PR fortran/90786 PR fortran/90813 * trans-expr.c (pointer_assignment_is_proc_pointer) Remove as it is very simple and only called from one place. (gfc_trans_pointer_assignment): Rename non_proc_pointer_assign as non_proc_ptr_assign. Assign to it directly, rather than call to above, deleted function and use gfc_expr_attr instead of only checking the reference chain. * trans-decl.c (sym_identifier): New function. (mangled_identifier): New function, doing most of the work of gfc_sym_mangled_identifier. (gfc_sym_mangled_identifier): Use mangled_identifier. Add mangled identifier to global symbol table. (get_proc_pointer_decl): Use backend decl from global identifier if present. 2019-08-03 Thomas Koenig <tkoe...@gcc.gnu.org> Paul Thomas <pa...@gcc.gnu.org> Backport from trunk PR fortran/90786 PR fortran/90813 * gfortran.dg/proc_ptr_51.f90: New test. Added: branches/gcc-7-branch/gcc/testsuite/gfortran.dg/proc_ptr_51.f90 Modified: branches/gcc-7-branch/gcc/fortran/ChangeLog branches/gcc-7-branch/gcc/fortran/trans-decl.c branches/gcc-7-branch/gcc/fortran/trans-expr.c branches/gcc-7-branch/gcc/testsuite/ChangeLog