OLD | NEW |
1 ; RUN: not pnacl-abicheck < %s | FileCheck %s | 1 ; RUN: not pnacl-abicheck < %s | FileCheck %s |
2 | 2 |
3 define void @arg_i1(i1 %bad) { | 3 define void @arg_i1(i1 %bad) { |
4 ret void | 4 ret void |
5 } | 5 } |
6 ; CHECK: Function arg_i1 has disallowed type: | 6 ; CHECK: Function arg_i1 has disallowed type: |
7 | 7 |
8 define void @arg_i16(i32 %allowed, i16 %bad) { | 8 define void @arg_i16(i32 %allowed, i16 %bad) { |
9 ret void | 9 ret void |
10 } | 10 } |
(...skipping 21 matching lines...) Expand all Loading... |
32 ; CHECK-NEXT: bad function callee operand: {{.*}} call i1 @return_i1 | 32 ; CHECK-NEXT: bad function callee operand: {{.*}} call i1 @return_i1 |
33 | 33 |
34 %result2 = call i8 @return_i8() | 34 %result2 = call i8 @return_i8() |
35 ; CHECK-NEXT: bad function callee operand: {{.*}} call i8 @return_i8 | 35 ; CHECK-NEXT: bad function callee operand: {{.*}} call i8 @return_i8 |
36 | 36 |
37 ret void | 37 ret void |
38 } | 38 } |
39 | 39 |
40 define void @bad_indirect_calls(i32 %ptr) { | 40 define void @bad_indirect_calls(i32 %ptr) { |
41 %func1 = inttoptr i32 %ptr to void (i8)* | 41 %func1 = inttoptr i32 %ptr to void (i8)* |
42 ; CHECK: bad result type: %func1 | 42 ; CHECK: bad result type: void (i8)* %func1 |
43 call void %func1(i8 0) | 43 call void %func1(i8 0) |
44 ; CHECK: bad function callee operand: {{.*}} %func1 | 44 ; CHECK: bad function callee operand: {{.*}} %func1 |
45 | 45 |
46 %func2 = inttoptr i32 %ptr to i16 ()* | 46 %func2 = inttoptr i32 %ptr to i16 ()* |
47 ; CHECK: bad result type: %func2 | 47 ; CHECK: bad result type: i16 ()* %func2 |
48 %result3 = call i16 %func2() | 48 %result3 = call i16 %func2() |
49 ; CHECK: bad function callee operand: {{.*}} %func2 | 49 ; CHECK: bad function callee operand: {{.*}} %func2 |
50 | 50 |
51 ret void | 51 ret void |
52 } | 52 } |
OLD | NEW |