1; RUN:  llvm-dis < %s.bc| FileCheck %s
2; RUN:  verify-uselistorder < %s.bc
3
4; calling-conventions.3.2.ll.bc was generated by passing this file to llvm-as-3.2.
5; The test checks that LLVM does not silently misread calling conventions of
6; older bitcode files.
7
8declare ccc void @ccc()
9; CHECK: declare void @ccc
10
11declare fastcc void @fastcc()
12; CHECK: declare fastcc void @fastcc
13
14declare coldcc void @coldcc()
15; CHECK: declare coldcc void @coldcc
16
17declare cc10 void @cc10()
18; CHECK: declare ghccc void @cc10
19
20declare spir_kernel void @spir_kernel()
21; CHECK: declare spir_kernel void @spir_kernel
22
23declare spir_func void @spir_func()
24; CHECK: declare spir_func void @spir_func
25
26declare intel_ocl_bicc void @intel_ocl_bicc()
27; CHECK: declare intel_ocl_bicc void @intel_ocl_bicc
28
29declare x86_stdcallcc void @x86_stdcallcc()
30; CHECK: declare x86_stdcallcc void @x86_stdcallcc
31
32declare x86_fastcallcc void @x86_fastcallcc()
33; CHECK: declare x86_fastcallcc void @x86_fastcallcc
34
35declare x86_thiscallcc void @x86_thiscallcc()
36; CHECK: declare x86_thiscallcc void @x86_thiscallcc
37
38declare arm_apcscc void @arm_apcscc()
39; CHECK: declare arm_apcscc void @arm_apcscc
40
41declare arm_aapcscc void @arm_aapcscc()
42; CHECK: declare arm_aapcscc void @arm_aapcscc
43
44declare arm_aapcs_vfpcc void @arm_aapcs_vfpcc()
45; CHECK: declare arm_aapcs_vfpcc void @arm_aapcs_vfpcc
46
47declare msp430_intrcc void @msp430_intrcc()
48; CHECK: declare msp430_intrcc void @msp430_intrcc
49
50declare ptx_kernel void @ptx_kernel()
51; CHECK: declare ptx_kernel void @ptx_kernel
52
53declare ptx_device void @ptx_device()
54; CHECK: declare ptx_device void @ptx_device
55
56define void @call_ccc() {
57; CHECK: call void @ccc
58  call ccc void @ccc()
59  ret void
60}
61
62define void @call_fastcc() {
63; CHECK: call fastcc void @fastcc
64  call fastcc void @fastcc()
65  ret void
66}
67
68define void @call_coldcc() {
69; CHECK: call coldcc void @coldcc
70  call coldcc void @coldcc()
71  ret void
72}
73
74define void @call_cc10 () {
75; CHECK: call ghccc void @cc10
76  call cc10 void @cc10 ()
77  ret void
78}
79
80define void @call_spir_kernel() {
81; CHECK: call spir_kernel void @spir_kernel
82  call spir_kernel void @spir_kernel()
83  ret void
84}
85
86define void @call_spir_func() {
87; CHECK: call spir_func void @spir_func
88  call spir_func void @spir_func()
89  ret void
90}
91
92define void @call_intel_ocl_bicc() {
93; CHECK: call intel_ocl_bicc void @intel_ocl_bicc
94  call intel_ocl_bicc void @intel_ocl_bicc()
95  ret void
96}
97
98define void @call_x86_stdcallcc() {
99; CHECK: call x86_stdcallcc void @x86_stdcallcc
100  call x86_stdcallcc void @x86_stdcallcc()
101  ret void
102}
103
104define void @call_x86_fastcallcc() {
105; CHECK: call x86_fastcallcc void @x86_fastcallcc
106  call x86_fastcallcc void @x86_fastcallcc()
107  ret void
108}
109
110define void @call_x86_thiscallcc() {
111; CHECK: call x86_thiscallcc void @x86_thiscallcc
112  call x86_thiscallcc void @x86_thiscallcc()
113  ret void
114}
115
116define void @call_arm_apcscc() {
117; CHECK: call arm_apcscc void @arm_apcscc
118  call arm_apcscc void @arm_apcscc()
119  ret void
120}
121
122define void @call_arm_aapcscc() {
123; CHECK: call arm_aapcscc void @arm_aapcscc
124  call arm_aapcscc void @arm_aapcscc()
125  ret void
126}
127
128define void @call_arm_aapcs_vfpcc() {
129; CHECK: call arm_aapcs_vfpcc void @arm_aapcs_vfpcc
130  call arm_aapcs_vfpcc void @arm_aapcs_vfpcc()
131  ret void
132}
133
134define void @call_msp430_intrcc() {
135; CHECK: call msp430_intrcc void @msp430_intrcc
136  call msp430_intrcc void @msp430_intrcc()
137  ret void
138}
139
140define void @call_ptx_kernel() {
141; CHECK: call ptx_kernel void @ptx_kernel
142  call ptx_kernel void @ptx_kernel()
143  ret void
144}
145
146define void @call_ptx_device() {
147; CHECK: call ptx_device void @ptx_device
148  call ptx_device void @ptx_device()
149  ret void
150}
151
152