1// RUN: llvm-tblgen %s | FileCheck %s
2
3// CHECK: class Y<list<string> Y:S = ?> {
4// CHECK:   list<string> T1 = !listconcat(Y:S, ["foo"]);
5// CHECK:   list<string> T2 = !listconcat(Y:S, !listconcat(["foo"], !listconcat(Y:S, ["bar", "baz"])));
6// CHECK: }
7
8// CHECK: def Z {
9// CHECK:   list<string> T1 = ["fu", "foo"];
10// CHECK:   list<string> T2 = ["fu", "foo", "fu", "bar", "baz"];
11// CHECK: }
12
13class Y<list<string> S> {
14  list<string> T1 = !listconcat(S, ["foo"]);
15  list<string> T2 = !listconcat(S, ["foo"], S, ["bar", "baz"]);
16}
17
18def Z : Y<["fu"]>;
19