FileCheckize some tests.
[oota-llvm.git] / test / TableGen / foreach.td
1 // RUN: llvm-tblgen %s | FileCheck %s
2
3 // CHECK: Classes
4 // CHECK: Sr
5 // CHECK: Jr
6 // CHECK: "NAME"
7
8 // CHECK: Defs
9 // CHECK: Jr
10 // CHECK: Sr
11
12 // Variables for foreach
13 class decls {
14   string name;
15 }
16
17 def Decls : decls;
18
19 class A<list<string> names> {
20   list<string> Names = names;
21 }
22
23 class B<list<string> names> : A<!foreach(Decls.name, names, !strconcat(Decls.name, ", Sr."))>;
24
25 class C<list<string> names> : A<!foreach(Decls.name, names, !strconcat(Decls.name, ", Jr."))>;
26
27 class D<list<string> names> : A<!foreach(Decls.name, names, !subst("NAME", "John Smith", Decls.name))>;
28
29 class Names {
30   list<string> values = ["Ken Griffey", "Seymour Cray"];
31 }
32
33 def People : Names;
34
35 def Seniors : B<People.values>;
36 def Juniors : C<People.values>;
37 def Smiths : D<["NAME", "Jane Smith"]>;
38 def Unprocessed : D<People.values>;