1// RUN: llvm-tblgen %s | FileCheck %s
2
3// CHECK: class A<bit A:x = ?> {
4// CHECK: list<int> lst = !listconcat([], !if(A:x, [], [4]));
5// CHECK: }
6class A<bit x> {
7  list<int> lst = []  # !if(x, [], [4]);
8}
9
10// CHECK: class A1<list<int> A1:l = ?> {
11// CHECK:   list<int> A1List = A1:l;
12// CHECK: }
13class A1<list<int> l> {
14  list<int> A1List = l;
15}
16
17// CHECK: def A0 {
18// CHECK:   list<int> lst = [4];
19// CHECK: }
20def A0 : A<0>;
21
22// CHECK: def A1 {
23// CHECK:   list<int> lst = [];
24// CHECK: }
25def A1 : A<1>;
26
27// CHECK: def A1_0 {
28// CHECK:   list<int> A1List = [1, 2, 3, 4];
29// CHECK: }
30def A1_0 : A1<[1,2] # [3,4]>;
31
32// CHECK: def A1_1 {
33// CHECK:   list<int> A1List = [1, 2];
34// CHECK: }
35def A1_1 : A1<[] # [1,2]>;
36
37// CHECK: def A1_2 {      // A1
38// CHECK:   list<int> A1List = [1, 2];
39// CHECK: }
40def A1_2 : A1<[1,2] # []>;
41