xref: /llvm-project/flang/test/Semantics/call29.f90 (revision faa1338ccdc5dc980dcf241eb380c27e24d3865a)
1*faa1338cSPeter Klausler! RUN: %python %S/test_errors.py %s %flang_fc1
2*faa1338cSPeter Klausler
3*faa1338cSPeter Klauslermodule m
4*faa1338cSPeter Klausler  type t1
5*faa1338cSPeter Klausler    integer, allocatable :: a(:)
6*faa1338cSPeter Klausler  end type
7*faa1338cSPeter Klausler  type t2
8*faa1338cSPeter Klausler    integer :: n = 123
9*faa1338cSPeter Klausler  end type
10*faa1338cSPeter Klausler  type t3
11*faa1338cSPeter Klausler   contains
12*faa1338cSPeter Klausler    final :: t3final
13*faa1338cSPeter Klausler  end type
14*faa1338cSPeter Klausler  type t4
15*faa1338cSPeter Klausler    type(t1) :: c1
16*faa1338cSPeter Klausler    type(t2) :: c2
17*faa1338cSPeter Klausler    type(t3) :: c3
18*faa1338cSPeter Klausler  end type
19*faa1338cSPeter Klausler  type t5
20*faa1338cSPeter Klausler  end type
21*faa1338cSPeter Klausler contains
22*faa1338cSPeter Klausler  elemental subroutine t3final(x)
23*faa1338cSPeter Klausler    type(t3), intent(in) :: x
24*faa1338cSPeter Klausler  end subroutine
25*faa1338cSPeter Klausler  subroutine test1(x1,x2,x3,x4,x5)
26*faa1338cSPeter Klausler    !ERROR: An INTENT(OUT) assumed-size dummy argument array may not have a derived type with any default component initialization
27*faa1338cSPeter Klausler    type(t1), intent(out) :: x1(*)
28*faa1338cSPeter Klausler    !ERROR: An INTENT(OUT) assumed-size dummy argument array may not have a derived type with any default component initialization
29*faa1338cSPeter Klausler    type(t2), intent(out) :: x2(*)
30*faa1338cSPeter Klausler    !ERROR: An INTENT(OUT) assumed-size dummy argument array may not be finalizable
31*faa1338cSPeter Klausler    type(t3), intent(out) :: x3(*)
32*faa1338cSPeter Klausler    !ERROR: An INTENT(OUT) assumed-size dummy argument array may not have a derived type with any default component initialization
33*faa1338cSPeter Klausler    !ERROR: An INTENT(OUT) assumed-size dummy argument array may not be finalizable
34*faa1338cSPeter Klausler    type(t4), intent(out) :: x4(*)
35*faa1338cSPeter Klausler    !ERROR: An INTENT(OUT) assumed-size dummy argument array may not be polymorphic
36*faa1338cSPeter Klausler    class(t5), intent(out) :: x5(*)
37*faa1338cSPeter Klausler  end subroutine
38*faa1338cSPeter Klauslerend module
39