| // RUN: llvm-tblgen %s | FileCheck %s |
| // XFAIL: vg_leak |
| |
| // CHECK: --- Defs --- |
| |
| // CHECK: def X0 { |
| // CHECK: int ret = 0; |
| // CHECK: } |
| |
| // CHECK: def X1 { |
| // CHECK: int ret = 1; |
| // CHECK: } |
| |
| // CHECK: def Y0 { |
| // CHECK: int ret = 0; |
| // CHECK: } |
| |
| // CHECK: def Y1 { |
| // CHECK: int ret = 11; |
| // CHECK: } |
| |
| class A<int dummy>; |
| class B<int num> : A<num> { |
| int Num = num; |
| } |
| |
| class X<A a> { |
| int ret = !isa<B>(a); |
| } |
| |
| class Y<A a> { |
| int ret = !if(!isa<B>(a), !cast<B>(a).Num, 0); |
| } |
| |
| def X0 : X<A<0>>; |
| def X1 : X<B<0>>; |
| |
| def Y0 : Y<A<10>>; |
| def Y1 : Y<B<11>>; |