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 ; RUN: sed -e s/.T5:// %s | not llvm-as -disable-output 2>&1 | FileCheck --check-prefix=CHECK5 %s
6 ; RUN: sed -e s/.T6:// %s | not llvm-as -disable-output 2>&1 | FileCheck --check-prefix=CHECK6 %s
7 ; RUN: sed -e s/.T7:// %s | not llvm-as -disable-output 2>&1 | FileCheck --check-prefix=CHECK7 %s
8 ; RUN: sed -e s/.T8:// %s | not llvm-as -disable-output 2>&1 | FileCheck --check-prefix=CHECK8 %s
9 ; RUN: sed -e s/.T9:// %s | not llvm-as -disable-output 2>&1 | FileCheck --check-prefix=CHECK9 %s
11 ;T1: define void @f() {
13 ;T1: ; operator constraint requires an operator
14 ;T1: catchret undef to label %entry
15 ;T1: ; CHECK1: [[@LINE-1]]:15: error: Catchpad value required in this position
18 ;T2: define void @f() {
20 ;T2: %x = cleanuppad []
21 ;T2: ; catchret's first operand's operator must be catchpad
22 ;T2: catchret %x to label %entry
23 ;T2: ; CHECK2: [[@LINE-1]]:15: error: '%x' is not a catchpad
26 ;T3: define void @f() {
28 ;T3: ; catchret's first operand's operator must be catchpad
29 ;T3: ; (forward reference case)
30 ;T3: catchret %x to label %next
31 ;T3: ; CHECK3: [[@LINE-1]]:15: error: '%x' is not a catchpad
33 ;T3: %x = cleanuppad []
37 ;T4: define void @f() {
39 ;T4: ; operator constraint requires an operator
40 ;T4: cleanupret undef unwind label %entry
41 ;T4: ; CHECK4: [[@LINE-1]]:17: error: Cleanuppad value required in this position
44 ;T5: define void @f() {
47 ;T5: to label %next unwind label %entry
49 ;T5: ; cleanupret first operand's operator must be cleanuppad
50 ;T5: cleanupret %x unwind to caller
51 ;T5: ; CHECK5: [[@LINE-1]]:17: error: '%x' is not a cleanuppad
54 ;T6: define void @f() {
56 ;T6: ; cleanupret's first operand's operator must be cleanuppad
57 ;T6: ; (forward reference case)
58 ;T6: cleanupret %x unwind label %next
59 ;T6: ; CHECK6: [[@LINE-1]]:17: error: '%x' is not a cleanuppad
61 ;T6: %x = catchpad [] to label %entry unwind label %next
64 ;T7: define void @f() {
66 ;T7: ; operator constraint requires an operator
67 ;T7: cleanupendpad undef unwind to caller
68 ;T7: ; CHECK7: [[@LINE-1]]:20: error: Cleanuppad value required in this position
71 ;T8: define void @f() {
74 ;T8: to label %next unwind label %entry
76 ;T8: ; cleanupret first operand's operator must be cleanuppad
77 ;T8: cleanupendpad %x unwind label next
78 ;T8: ; CHECK8: [[@LINE-1]]:20: error: '%x' is not a cleanuppad
81 ;T9: define void @f() {
83 ;T9: ; cleanupret's first operand's operator must be cleanuppad
84 ;T9: ; (forward reference case)
85 ;T9: cleanupendpad %x unwind label %next
86 ;T9: ; CHECK9: [[@LINE-1]]:20: error: '%x' is not a cleanuppad
88 ;T9: %x = catchpad [] to label %entry unwind label %next