1 // RUN: llvm-tblgen %s | FileCheck %s
12 // CHECK: list<string> x = ["0", "1", "2"];
18 // Variables for foreach
26 class A<list<string> names> {
27 list<string> Names = names;
30 class B<list<string> names> : A<!foreach(Decls.name, names, !strconcat(Decls.name, ", Sr."))>;
32 class C<list<string> names> : A<!foreach(Decls.name, names, !strconcat(Decls.name, ", Jr."))>;
34 class D<list<string> names> : A<!foreach(Decls.name, names, !subst("NAME", "John Smith", Decls.name))>;
37 list<string> values = ["Ken Griffey", "Seymour Cray"];
42 def Seniors : B<People.values>;
43 def Juniors : C<People.values>;
44 def Smiths : D<["NAME", "Jane Smith"]>;
45 def Unprocessed : D<People.values>;
47 class X<list<int> a> {
48 list<string> x = !foreach(Decls.num, a, !cast<string>(Decls.num));
51 def DX : X<[0, 1, 2]>;