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