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