! { dg-do compile }
! { dg-options "-fsecond-underscore" }
! PR fortran/95088 - ICE in gfc_build_class_symbol, at fortran/class.c:653

module m2345678901234567890123456789012345678901234567890123456789_123
  type t2345678901234567890123456789012345678901234567890123456789_123 &
      (n2345678901234567890123456789012345678901234567890123456789_123,&
       r2345678901234567890123456789012345678901234567890123456789_123,&
       k2345678901234567890123456789012345678901234567890123456789_123,&
       l2345678901234567890123456789012345678901234567890123456789_123 )
     integer, kind :: n2345678901234567890123456789012345678901234567890123456789_123
     integer, kind :: r2345678901234567890123456789012345678901234567890123456789_123
     integer, kind :: k2345678901234567890123456789012345678901234567890123456789_123
     integer, len  :: l2345678901234567890123456789012345678901234567890123456789_123
     complex (kind  = r2345678901234567890123456789012345678901234567890123456789_123) &
                   :: z2345678901234567890123456789012345678901234567890123456789_123
     character(kind = k2345678901234567890123456789012345678901234567890123456789_123, &
                len = l2345678901234567890123456789012345678901234567890123456789_123) &
                   :: c2345678901234567890123456789012345678901234567890123456789_123
  end type
  type, extends (t2345678901234567890123456789012345678901234567890123456789_123) :: &
      a2345678901234567890123456789012345678901234567890123456789_123
  end type
  interface
     module subroutine s2345678901234567890123456789012345678901234567890123456789_123 &
                      (x2345678901234567890123456789012345678901234567890123456789_123)
       class(a2345678901234567890123456789012345678901234567890123456789_123(16,8,4,1234567890)) :: &
             x2345678901234567890123456789012345678901234567890123456789_123
     end
  end interface
end