// RUN: llvm-tblgen %s // CHECK: def One { // CHECK-NEXT: list names = ["Jeffrey Sinclair"]; // CHECK-NEXT: string element = "Jeffrey Sinclair"; // CHECK-NEXT: list rest = []; // CHECK-NEXT: int null = 1; // CHECK-NEXT: string NAME = ?; // CHECK-NEXT: } // CHECK-NEXT: def Three { // CHECK-NEXT: list names = ["Tom", "Dick", "Harry"]; // CHECK-NEXT: string element = "Tom"; // CHECK-NEXT: list rest = ["Dick", "Harry"]; // CHECK-NEXT: int null = 0; // CHECK-NEXT: string NAME = ?; // CHECK-NEXT: } class List n> { list names = n; } class CAR { string element = e; } class CDR r, int n> { list rest = r; int null = n; } class NameList Names> : List, CAR, CDR; def Three : NameList<["Tom", "Dick", "Harry"]>; def One : NameList<["Jeffrey Sinclair"]>;