Joseph Tremoulet | 61efbc3 | 2015-09-03 09:15:32 +0000 | [diff] [blame] | 1 | ; RUN: sed -e s/.T1:// %s | not opt -lint -disable-output 2>&1 | FileCheck --check-prefix=CHECK1 %s |
| 2 | ; RUN: sed -e s/.T2:// %s | not opt -lint -disable-output 2>&1 | FileCheck --check-prefix=CHECK2 %s |
| 3 | |
| 4 | target triple = "x86_64-pc-windows-msvc" |
| 5 | |
| 6 | declare void @f() |
| 7 | |
| 8 | ;T1: declare i8* @llvm.eh.exceptionpointer.p0i8(i32) |
| 9 | ;T1: |
| 10 | ;T1: define void @test1() personality i32 (...)* @__CxxFrameHandler3 { |
| 11 | ;T1: call i8* @llvm.eh.exceptionpointer.p0i8(i32 0) |
| 12 | ;T1: ret void |
| 13 | ;T1: } |
| 14 | ;CHECK1: Intrinsic has incorrect argument type! |
| 15 | ;CHECK1-NEXT: i8* (i32)* @llvm.eh.exceptionpointer.p0i8 |
| 16 | |
| 17 | ;T2: declare i8* @llvm.eh.exceptionpointer.p0i8(token) |
| 18 | ;T2: |
| 19 | ;T2: define void @test2() personality i32 (...)* @__CxxFrameHandler3 { |
| 20 | ;T2: call i8* @llvm.eh.exceptionpointer.p0i8(token undef) |
| 21 | ;T2: ret void |
| 22 | ;T2: } |
| 23 | ;CHECK2: eh.exceptionpointer argument must be a catchpad |
| 24 | ;CHECK2-NEXT: call i8* @llvm.eh.exceptionpointer.p0i8(token undef) |
| 25 | |
| 26 | declare i32 @__CxxFrameHandler3(...) |