1 // RUN: llvm-tblgen %s | FileCheck %s
3 // CHECK: ------------- Classes -----------------
4 // CHECK-NEXT: class X<int X:a = ?, int X:b = ?> {
5 // CHECK-NEXT: list<int> x = !listsplat(X:a, X:b);
7 // CHECK-NEXT: class Y<string Y:a = ?, int Y:b = ?> {
8 // CHECK-NEXT: list<string> x = !listsplat(Y:a, Y:b);
10 // CHECK-NEXT: ------------- Defs -----------------
11 // CHECK-NEXT: def DX00 { // X
12 // CHECK-NEXT: list<int> x = [];
14 // CHECK-NEXT: def DX01 { // X
15 // CHECK-NEXT: list<int> x = [0];
17 // CHECK-NEXT: def DX02 { // X
18 // CHECK-NEXT: list<int> x = [0, 0];
20 // CHECK-NEXT: def DX10 { // X
21 // CHECK-NEXT: list<int> x = [];
23 // CHECK-NEXT: def DX11 { // X
24 // CHECK-NEXT: list<int> x = [1];
26 // CHECK-NEXT: def DX12 { // X
27 // CHECK-NEXT: list<int> x = [1, 1];
29 // CHECK-NEXT: def DYa0 { // Y
30 // CHECK-NEXT: list<string> x = [];
32 // CHECK-NEXT: def DYa1 { // Y
33 // CHECK-NEXT: list<string> x = ["a"];
35 // CHECK-NEXT: def DYa2 { // Y
36 // CHECK-NEXT: list<string> x = ["a", "a"];
38 // CHECK-NEXT: def DYe0 { // Y
39 // CHECK-NEXT: list<string> x = [];
41 // CHECK-NEXT: def DYe1 { // Y
42 // CHECK-NEXT: list<string> x = [""];
44 // CHECK-NEXT: def DYe2 { // Y
45 // CHECK-NEXT: list<string> x = ["", ""];
47 // CHECK-NEXT: def DZ { // X
48 // CHECK-NEXT: list<int> x = [42, 42, 42];
51 class X<int a, int b> {
52 list<int> x = !listsplat(a, b);
55 class Y<string a, int b> {
56 list<string> x = !listsplat(a, b);
75 def DZ : X<42, !size([1, 2, 3])>;