[flang] Accept polymorphic component element in storage_size
[llvm-project.git] / flang / test / Semantics / modfile14.f90
blob6a280c51f3a7b181cef05a20ab00fb7970d1e590
1 ! RUN: %python %S/test_modfile.py %s %flang_fc1
2 module m
3 type t1
4 contains
5 procedure, nopass :: s2
6 procedure, nopass :: s3
7 procedure :: r
8 generic :: foo => s2
9 generic :: read(formatted)=> r
10 end type
11 type, extends(t1) :: t2
12 contains
13 procedure, nopass :: s4
14 generic :: foo => s3
15 generic :: foo => s4
16 end type
17 contains
18 subroutine s2(i)
19 end
20 subroutine s3(r)
21 end
22 subroutine s4(z)
23 complex :: z
24 end
25 subroutine r(dtv, unit, iotype, v_list, iostat, iomsg)
26 class(t1), intent(inout) :: dtv
27 integer, intent(in) :: unit
28 character (len=*), intent(in) :: iotype
29 integer, intent(in) :: v_list(:)
30 integer, intent(out) :: iostat
31 character (len=*), intent(inout) :: iomsg
32 end
33 end
35 !Expect: m.mod
36 !module m
37 ! type::t1
38 ! contains
39 ! procedure,nopass::s2
40 ! procedure,nopass::s3
41 ! procedure::r
42 ! generic::foo=>s2
43 ! generic::read(formatted)=>r
44 ! end type
45 ! type,extends(t1)::t2
46 ! contains
47 ! procedure,nopass::s4
48 ! generic::foo=>s3
49 ! generic::foo=>s4
50 ! end type
51 !contains
52 ! subroutine s2(i)
53 ! integer(4)::i
54 ! end
55 ! subroutine s3(r)
56 ! real(4)::r
57 ! end
58 ! subroutine s4(z)
59 ! complex(4)::z
60 ! end
61 ! subroutine r(dtv,unit,iotype,v_list,iostat,iomsg)
62 ! class(t1),intent(inout)::dtv
63 ! integer(4),intent(in)::unit
64 ! character(*,1),intent(in)::iotype
65 ! integer(4),intent(in)::v_list(:)
66 ! integer(4),intent(out)::iostat
67 ! character(*,1),intent(inout)::iomsg
68 ! end
69 !end