| 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 |