Fixed some bugs.
[llvm/zpu.git] / test / TableGen / MultiClassInherit.td
blob9da80bad2d74ab34372b0eb41c69dffcb2a21967
1 // RUN: tblgen %s | grep {zing = 4} | count 28
2 // XFAIL: vg_leak
4 class C1<int A, string B> { 
5   int bar = A;
6   string thestr = B;
7   int zing;
10 def T : C1<4, "blah">;
12 multiclass t1<int a1> {
13   def S1 : C1<a1, "foo"> {
14     int foo = 4;
15     let bar = 1;
16   }
17   def S2 : C1<a1, "bar">;
20 multiclass t2<int a2> {
21   def S3 : C1<a2, "foo"> {
22     int foo = 4;
23     let bar = 1;
24   }
25   def S4 : C1<a2, "bar">;
28 multiclass s1<int as1, int bs1> : t1<as1> {
29   def S5 : C1<bs1, "moo"> {
30     int moo = 3;
31     let bar = 1;
32   }
33   def S6 : C1<bs1, "baz">;
36 multiclass s2<int as2> : t1<as2>, t2<as2>;
38 multiclass s3<int as3, int bs3> : t1<as3>, t2<as3> {
39   def S7 : C1<bs3, "moo"> {
40     int moo = 3;
41     let bar = 1;
42   }
43   def S8 : C1<bs3, "baz">;
46 let zing = 4 in
47 defm FOO1 : s1<42, 24>;
49 let zing = 4 in
50 defm FOO2 : s2<99>;
52 let zing = 4 in
53 defm FOO3 : s3<84, 48>;
55 def T4 : C1<6, "foo">;
57 let zing = 4 in
58   defm BAZ1 : s1<3, 4>;
60 let zing = 4 in
61   defm BAZ2 : s2<5>;
63 let zing = 4 in
64   defm BAZ3 : s3<6, 7>;