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