1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-tblgen %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker// XFAIL: vg_leak 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker// CHECK: zing = 4 5*9880d681SAndroid Build Coastguard Worker// CHECK: zing = 4 6*9880d681SAndroid Build Coastguard Worker// CHECK-NOT: zing = 4 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerclass C1<int A, string B> { 9*9880d681SAndroid Build Coastguard Worker int bar = A; 10*9880d681SAndroid Build Coastguard Worker string thestr = B; 11*9880d681SAndroid Build Coastguard Worker int zing; 12*9880d681SAndroid Build Coastguard Worker} 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Workerdef T : C1<4, "blah">; 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Workermulticlass t<int a> { 17*9880d681SAndroid Build Coastguard Worker def S1 : C1<a, "foo"> { 18*9880d681SAndroid Build Coastguard Worker int foo = 4; 19*9880d681SAndroid Build Coastguard Worker let bar = 1; 20*9880d681SAndroid Build Coastguard Worker } 21*9880d681SAndroid Build Coastguard Worker def S2 : C1<a, "bar">; 22*9880d681SAndroid Build Coastguard Worker} 23*9880d681SAndroid Build Coastguard Worker 24*9880d681SAndroid Build Coastguard Workerdefm FOO : t<42>; 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Workerdef T4 : C1<6, "foo">; 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Workerlet zing = 4 in 29*9880d681SAndroid Build Coastguard Worker defm BAZ : t<3>; 30*9880d681SAndroid Build Coastguard Worker 31