blob: a0a0f025e24da6fa26db3d9304160e1570076325 [file] [log] [blame]
! { dg-do run }
! { dg-options -std=gnu }
! PR55117 Programs fails namelist read (contains derived types objects)
program test_type_extension
type tk_t
real :: x
end type tk_t
type, extends(tk_t) :: tke_t
character(8) :: string
end type tke_t
type, extends(tke_t) :: deep
integer :: int1
real :: y
character(10) :: the_name
end type deep
type other
integer :: one_oh
integer :: two_oh
end type other
type plain_type
integer :: var1
type(other) :: var2
real :: var3
end type plain_type
type some_other
complex :: varx
type(tke_t) :: tke
type (plain_type) :: varpy
real :: vary
end type some_other
type(deep) :: trouble
type(some_other) :: somethinelse
type(tke_t) :: tke
integer :: answer
namelist /test_NML/ trouble, somethinelse, tke, answer
tke%x = 0.0
tke%string = "xxxxxxxx"
answer = 5
trouble%x = 5.34
trouble%y = 4.25
trouble%string = "yyyy"
trouble%the_name = "mischief"
open(10, status="scratch")
write(10,*) "&TEST_NML"
write(10,*) "TKE%X= 3.14 ,"
write(10,*) "TKE%STRING='kf7rcc',"
write(10,*) "ANSWER= 42,"
write(10,*) "/"
rewind(10)
read(10,NML=test_NML)
if (tke%x - 3.14000010 > .00001) STOP 1
if (tke%string /= "kf7rcc") STOP 2
if (answer /= 42) STOP 3! hitchkikers guide to the galaxy
end program test_type_extension