[AMDGPU] Test codegen'ing True16 additions.
[llvm-project.git] / flang / test / Semantics / symbol29.f90
blob1f9f78d3d8375354a482dbb0188745eb9a2c7921
1 ! RUN: %python %S/test_symbols.py %s %flang_fc1
2 ! References to generic functions with forward-referenced specifics.
3 !DEF: /m Module
4 module m
5 contains
6 !DEF: /m/specific4 PUBLIC (Function) Subprogram INTEGER(4)
7 !DEF: /m/specific4/x INTENT(IN) ObjectEntity INTEGER(4)
8 integer function specific4(x)
9 !REF: /m/specific4/x
10 integer, intent(in) :: x(*)
11 end function
12 !DEF: /m/test PUBLIC (Subroutine) Subprogram
13 !DEF: /m/test/specific1 EXTERNAL (Function) Subprogram INTEGER(4)
14 subroutine test (specific1)
15 !DEF: /m/test/generic (Function) Generic
16 interface generic
17 !REF: /m/test/specific1
18 procedure :: specific1
19 !DEF: /m/test/specific2 EXTERNAL, PURE (Function) Subprogram INTEGER(4)
20 procedure :: specific2
21 !DEF: /m/test/specific3 EXTERNAL (Function) Subprogram INTEGER(4)
22 procedure :: specific3
23 !DEF: /m/test/specific4 EXTERNAL (Function) Subprogram INTEGER(4)
24 procedure :: specific4
25 end interface
26 interface
27 !REF: /m/test/specific1
28 !DEF: /m/test/specific1/x INTENT(IN) ObjectEntity INTEGER(4)
29 integer function specific1(x)
30 !REF: /m/test/specific1/x
31 integer, intent(in) :: x
32 end function
33 !REF: /m/test/specific2
34 !DEF: /m/test/specific2/x INTENT(IN) ObjectEntity INTEGER(4)
35 !DEF: /m/test/specific2/y INTENT(IN) ObjectEntity INTEGER(4)
36 pure integer function specific2(x, y)
37 !REF: /m/test/specific2/x
38 !REF: /m/test/specific2/y
39 integer, intent(in) :: x, y
40 end function
41 !REF: /m/test/specific3
42 !DEF: /m/test/specific3/x INTENT(IN) ObjectEntity INTEGER(4)
43 !DEF: /m/test/specific3/y INTENT(IN) ObjectEntity INTEGER(4)
44 integer function specific3(x, y)
45 !REF: /m/test/generic
46 import :: generic
47 !REF: /m/test/specific3/x
48 !REF: /m/test/specific3/y
49 !REF: /m/test/specific2
50 integer, intent(in) :: x, y(generic(1, x))
51 end function
52 !REF: /m/test/specific4
53 !DEF: /m/test/specific4/x INTENT(IN) ObjectEntity INTEGER(4)
54 integer function specific4(x)
55 !REF: /m/test/specific4/x
56 integer, intent(in) :: x(:)
57 end function
58 end interface
59 !REF: /m/test/specific4
60 print *, generic([1])
61 end subroutine
62 end module