blob: 6963ddc3c26209a2bff9b77558f37e1f952bdb54 [file] [log] [blame]
! { dg-do compile }
! { dg-options "-fdec-structure" }
!
! Verify that the comparisons in gfc_compare_derived_types can correctly
! match nested anonymous subtypes.
!
subroutine sub0 (u)
structure /t/
structure sub
integer i
end structure
endstructure
record /t/ u
u.sub.i = 0
end subroutine sub0
subroutine sub1 ()
structure /t/
structure sub
integer i
end structure
endstructure
record /t/ u
interface
subroutine sub0 (u) ! regression: Interface mismatch.*Type mismatch
structure /t/
structure sub
integer i
end structure
endstructure
record /t/ u
end subroutine
end interface
call sub0(u) ! regression: Type mismatch in argument
end subroutine
subroutine sub2(u)
structure /tu/
union
map
integer i
end map
map
real r
end map
end union
end structure
record /tu/ u
u.r = 1.0
end subroutine
implicit none
structure /t/
structure sub
integer i
end structure
endstructure
structure /tu/
union
map
integer i
end map
map
real r
end map
end union
end structure
record /t/ u
record /tu/ u2
call sub0(u) ! regression: Type mismatch in argument
call sub1()
call sub2(u2)
end