xref: /aosp_15_r20/external/llvm/test/TableGen/SuperSubclassSameName.td (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-tblgen < %s
2*9880d681SAndroid Build Coastguard Worker// XFAIL: vg_leak
3*9880d681SAndroid Build Coastguard Worker// Test for template arguments that have the same name as superclass template
4*9880d681SAndroid Build Coastguard Worker// arguments.
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Workerclass Arg { int a; }
8*9880d681SAndroid Build Coastguard Workerdef TheArg : Arg { let a = 1; }
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Workerclass Super<Arg F> {
12*9880d681SAndroid Build Coastguard Worker  int X = F.a;
13*9880d681SAndroid Build Coastguard Worker}
14*9880d681SAndroid Build Coastguard Workerclass Sub<Arg F> : Super<F>;
15*9880d681SAndroid Build Coastguard Workerdef inst : Sub<TheArg>;
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Workerclass Super2<int F> {
19*9880d681SAndroid Build Coastguard Worker  int X = F;
20*9880d681SAndroid Build Coastguard Worker}
21*9880d681SAndroid Build Coastguard Workerclass Sub2<int F> : Super2<F>;
22