| // RUN: llvm-tblgen %s | FileCheck %s | |
| // 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>; |