David Majnemer | 8a1c45d | 2015-12-12 05:38:55 +0000 | [diff] [blame^] | 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: } |