| // RUN: llvm-tblgen %s | FileCheck %s |
| // XFAIL: vg_leak |
| |
| // Check that !cond picks the first true value |
| // CHECK: class A |
| // CHECK-NEXT: string S = !cond(!eq(A:x, 10): "ten", !eq(A:x, 11): "eleven", !eq(A:x, 10): "TEN", !gt(A:x, 9): "MoreThanNine", 1: "unknown"); |
| // CHECK: B1 |
| // CHECK-NEXT: string S = "unknown" |
| // CHECK: B10 |
| // CHECK-NEXT: string S = "ten"; |
| // CHECK: def B11 |
| // CHECK-NEXT: string S = "eleven"; |
| // CHECK: def B12 |
| // CHECK-NEXT: string S = "MoreThanNine"; |
| // CHECK: def B9 |
| // CHECK-NEXT: string S = "unknown" |
| |
| class A<int x> { |
| string S = !cond(!eq(x,10) : "ten", |
| !eq(x,11) : "eleven", |
| !eq(x,10) : "TEN", |
| !gt(x,9) : "MoreThanNine", |
| !eq(1,1) : "unknown"); |
| } |
| def B1 : A<1>; |
| def B9 : A<9>; |
| def B10 : A<10>; |
| def B11 : A<11>; |
| def B12 : A<12>; |