Home | History | Annotate | Download | only in WinEH
      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(...)
     27