Home | History | Annotate | Download | only in Verifier
      1 ; RUN: sed -e s/.T1:// %s | not llvm-as -disable-output 2>&1 | FileCheck --check-prefix=CHECK1 %s
      2 ; RUN: sed -e s/.T2:// %s | not llvm-as -disable-output 2>&1 | FileCheck --check-prefix=CHECK2 %s
      3 ; RUN: sed -e s/.T3:// %s | not llvm-as -disable-output 2>&1 | FileCheck --check-prefix=CHECK3 %s
      4 ; RUN: sed -e s/.T4:// %s | not llvm-as -disable-output 2>&1 | FileCheck --check-prefix=CHECK4 %s
      5 
      6 ;T1: define void @f() {
      7 ;T1:   entry:
      8 ;T1:     catchret from undef to label %next
      9 ;T1:     ; CHECK1: CatchReturnInst needs to be provided a CatchPad
     10 ;T1:   next:
     11 ;T1:     unreachable
     12 ;T1: }
     13 
     14 ;T2: define void @f() {
     15 ;T2:   entry:
     16 ;T2:     %x = cleanuppad within none []
     17 ;T2:     ; catchret's first operand's operator must be catchpad
     18 ;T2:     catchret from %x to label %entry
     19 ;T2:     ; CHECK2: CatchReturnInst needs to be provided a CatchPad
     20 ;T2: }
     21 
     22 ;T3: define void @f() {
     23 ;T3:   entry:
     24 ;T3:     cleanupret from undef unwind label %next
     25 ;T3:     ; CHECK3: CleanupReturnInst needs to be provided a CleanupPad
     26 ;T3:   next:
     27 ;T3:     unreachable
     28 ;T3: }
     29 
     30 ;T4: define void @f() {
     31 ;T4:   entry:
     32 ;T4:     %cs = catchswitch within none [label %next] unwind to caller
     33 ;T4:   next:
     34 ;T4:     %x = catchpad within %cs []
     35 ;T4:     ; cleanupret first operand's operator must be cleanuppad
     36 ;T4:     cleanupret from %x unwind to caller
     37 ;T4:     ; CHECK4: CleanupReturnInst needs to be provided a CleanupPad
     38 ;T4: }
     39