[Bug fortran/90786] [7/8 Regression] ICE on procedure pointer assignment to function with class pointer result

tkoenig at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Aug 3 11:51:00 GMT 2019


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  <tkoenig@gcc.gnu.org>
        Paul Thomas <pault@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  <tkoenig@gcc.gnu.org>
        Paul Thomas <pault@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


More information about the Gcc-bugs mailing list