[Bug fortran/69965] ICE: tree check:=?UTF-8?Q?=20expected=20tree=20that=20contains=20=E2=80=98typed=E2=80=99=20structure?=,=?UTF-8?Q?=20have=20=E2=80=98?=<invalid tree code>=?UTF-8?Q?=E2=80=99=20in=20gfc=5Fget=5Fcharacter=5Ftype?=, at fortran/trans-types.c:1048

gerhard.steinmetz.fortran@t-online.de gcc-bugzilla@gcc.gnu.org
Thu Feb 25 19:26:00 GMT 2016


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

--- Comment #1 from Gerhard Steinmetz <gerhard.steinmetz.fortran@t-online.de> ---
Compiles if abstract "class(tab)" is replaced with extended "class(t)" :


$ cat z2.f90
module m
   type, abstract :: tab
   contains
      procedure(fab), deferred :: f
   end type

   type, extends(tab) :: t
   contains
      procedure :: f
   end type

   abstract interface
      function fab(x) result(z)
         import tab
         class(tab) :: x
         character(*) :: z
      end
   end interface

contains

   function f(x)
      class(t) :: x
      character(1) :: f
      f = 'a'
   end

   subroutine s(x)
      class(t) :: x
      print *, x%f()
   end
end module


More information about the Gcc-bugs mailing list