brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 43803d6 Raw
82 lines · plain
1// RUN: llvm-tblgen %s | FileCheck %s2// RUN: not llvm-tblgen -DERROR1 %s 2>&1 | FileCheck --check-prefix=ERROR1 %s3 4// CHECK: ------------- Classes -----------------5// CHECK-NEXT: class X<int X:a = ?, int X:b = ?> {6// CHECK-NEXT:   list<int> x = !listsplat(X:a, X:b);7// CHECK-NEXT: }8// CHECK-NEXT: class Y<string Y:a = ?, int Y:b = ?> {9// CHECK-NEXT:   list<string> x = !listsplat(Y:a, Y:b);10// CHECK-NEXT: }11// CHECK-NEXT: ------------- Defs -----------------12// CHECK-NEXT: def DX00 {      // X13// CHECK-NEXT:   list<int> x = [];14// CHECK-NEXT: }15// CHECK-NEXT: def DX01 {      // X16// CHECK-NEXT:   list<int> x = [0];17// CHECK-NEXT: }18// CHECK-NEXT: def DX02 {      // X19// CHECK-NEXT:   list<int> x = [0, 0];20// CHECK-NEXT: }21// CHECK-NEXT: def DX10 {      // X22// CHECK-NEXT:   list<int> x = [];23// CHECK-NEXT: }24// CHECK-NEXT: def DX11 {      // X25// CHECK-NEXT:   list<int> x = [1];26// CHECK-NEXT: }27// CHECK-NEXT: def DX12 {      // X28// CHECK-NEXT:   list<int> x = [1, 1];29// CHECK-NEXT: }30// CHECK-NEXT: def DYa0 {      // Y31// CHECK-NEXT:   list<string> x = [];32// CHECK-NEXT: }33// CHECK-NEXT: def DYa1 {      // Y34// CHECK-NEXT:   list<string> x = ["a"];35// CHECK-NEXT: }36// CHECK-NEXT: def DYa2 {      // Y37// CHECK-NEXT:   list<string> x = ["a", "a"];38// CHECK-NEXT: }39// CHECK-NEXT: def DYe0 {      // Y40// CHECK-NEXT:   list<string> x = [];41// CHECK-NEXT: }42// CHECK-NEXT: def DYe1 {      // Y43// CHECK-NEXT:   list<string> x = [""];44// CHECK-NEXT: }45// CHECK-NEXT: def DYe2 {      // Y46// CHECK-NEXT:   list<string> x = ["", ""];47// CHECK-NEXT: }48// CHECK-NEXT: def DZ {        // X49// CHECK-NEXT:   list<int> x = [42, 42, 42];50// CHECK-NEXT: }51 52class X<int a, int b> {53  list<int> x = !listsplat(a, b);54}55 56class Y<string a, int b> {57  list<string> x = !listsplat(a, b);58}59 60def DX00 : X<0, 0>;61def DX01 : X<0, 1>;62def DX02 : X<0, 2>;63 64def DX10 : X<1, 0>;65def DX11 : X<1, 1>;66def DX12 : X<1, 2>;67 68def DYe0 : Y<"", 0>;69def DYe1 : Y<"", 1>;70def DYe2 : Y<"", 2>;71 72def DYa0 : Y<"a", 0>;73def DYa1 : Y<"a", 1>;74def DYa2 : Y<"a", 2>;75 76def DZ : X<42, !size([1, 2, 3])>;77 78#ifdef ERROR179// ERROR1: !listsplat count -1 is negative80defvar E = !listsplat("", -1);81#endif82