27 lines
684 B
Fortran
27 lines
684 B
Fortran
! { dg-do compile }
|
|
! { dg-options "-O0" }
|
|
! Tests patch for PR24158 - The module would compile, in spite
|
|
! of the recursion between the derived types. This would cause
|
|
! an ICE in the commented out main program. The standard demands
|
|
! that derived type components be already defined, to break
|
|
! recursive derived type definitions.
|
|
!
|
|
! Contributed by Paul Thomas <pault@gcc.gnu.org>
|
|
!
|
|
module snafu
|
|
type :: a
|
|
integer :: v
|
|
type(b) :: i ! { dg-error "not been previously defined" }
|
|
end type a
|
|
type :: b
|
|
type(a) :: i
|
|
end type b
|
|
type (a) :: foo
|
|
end module snafu
|
|
|
|
! use snafu
|
|
! foo%v = 1
|
|
! end
|
|
|
|
! { dg-final { cleanup-modules "snafu" } }
|