blob: c97b797230a5ae13e375cf3f5a52a57cb9ff80a5 [file] [log] [blame] [edit]
! RUN: %python %S/test_errors.py %s %flang_fc1
! Make sure parameterized derived types can't be used in equivalence sets or contain legacy DATA-style initializations.
program main
type t1
sequence
integer, dimension(2):: i/41, 2/
end type
type pdt(k)
integer, kind :: k
integer, dimension(k + 1):: x = [43, (i, i=2, k+1, 1)]
end type
type pdt1(k)
integer, kind :: k
!ERROR: Component 'x' in a parameterized data type may not be initialized with a legacy DATA-style value list
integer, dimension(k + 1):: x/42, 2/
end type
!ERROR: A sequence type may not have type parameters
type pdt2(k)
integer, kind :: k
sequence
integer, dimension(k + 1):: x = [43, (i, i=2, k+1, 1)]
end type
type (t1) :: A
type (pdt(2)) :: P2
type (pdt(3)) :: P3
type (pdt1(4)) :: P4
type (pdt2(5)) :: P5
! ERROR: Nonsequence derived type object 'p2' is not allowed in an equivalence set
! ERROR: Nonsequence derived type object 'p3' is not allowed in an equivalence set
! ERROR: Nonsequence derived type object 'p4' is not allowed in an equivalence set
equivalence (A, B, P2, P3, P4, P5)
end