https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122556

--- Comment #2 from kargls at comcast dot net ---
(In reply to kargls from comment #1)
> Reduced testcase.
> 
> module m11
>   real, target :: trgt
>   type :: t(ln)
>     integer, len :: ln
>     real, pointer :: pntr => trgt
>   end type
>  contains
>   subroutine s1(x)
>     type(t(*)), intent(in) :: x
>   end subroutine
> end module

Using gdb to trace the ICE, I get to 

(gdb) c
Breakpoint 2, gfc_delete_symtree (root=0x20434a400, name=0x204bfc258 "Pdtt")
    at ../../gccx/gcc/fortran/symbol.cc:3039
3039      p = strrchr(name, '.');

If I continue, the ICE occurs.  Stepping into gfc_delete_symtree(), I
end up in symbol.cc:compare_symtree()

(gdb) p *st1
$7 = {priority = -8304, left = 0xa6b085 <gfc_match_ptr_fcn_assign()+69>, 
  right = 0x204298170, name = 0x204bfc258 "Pdtt", ambiguous = 69455616, n = {
    sym = 0x10, uop = 0x10, common = 0x10, tb = 0x10, omp_udr = 0x10}, 
  import_only = 0}
(gdb) p *st2
$8 = {priority = 14192, left = 0x0, right = 0x2043a0640, 
  name = 0x204bfc258 "Pdtt", ambiguous = 0, n = {sym = 0x20423cf00, 
    uop = 0x20423cf00, common = 0x20423cf00, tb = 0x20423cf00, 
    omp_udr = 0x20423cf00}, import_only = 0}

Reply via email to