https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90813
--- Comment #36 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- Author: tkoenig Date: Fri Aug 2 17:51:45 2019 New Revision: 274026 URL: https://gcc.gnu.org/viewcvs?rev=274026&root=gcc&view=rev Log: 2019-08-02 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-02 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-8-branch/gcc/testsuite/gfortran.dg/proc_ptr_51.f90 Modified: branches/gcc-8-branch/gcc/fortran/ChangeLog branches/gcc-8-branch/gcc/fortran/trans-decl.c branches/gcc-8-branch/gcc/fortran/trans-expr.c branches/gcc-8-branch/gcc/testsuite/ChangeLog