xref: /aosp_15_r20/external/llvm/test/TableGen/listconcat.td (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-tblgen %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker// CHECK: class Y<list<string> Y:S = ?> {
4*9880d681SAndroid Build Coastguard Worker// CHECK:   list<string> T1 = !listconcat(Y:S, ["foo"]);
5*9880d681SAndroid Build Coastguard Worker// CHECK:   list<string> T2 = !listconcat(Y:S, !listconcat(["foo"], !listconcat(Y:S, ["bar", "baz"])));
6*9880d681SAndroid Build Coastguard Worker// CHECK: }
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker// CHECK: def Z {
9*9880d681SAndroid Build Coastguard Worker// CHECK:   list<string> T1 = ["fu", "foo"];
10*9880d681SAndroid Build Coastguard Worker// CHECK:   list<string> T2 = ["fu", "foo", "fu", "bar", "baz"];
11*9880d681SAndroid Build Coastguard Worker// CHECK: }
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Workerclass Y<list<string> S> {
14*9880d681SAndroid Build Coastguard Worker  list<string> T1 = !listconcat(S, ["foo"]);
15*9880d681SAndroid Build Coastguard Worker  list<string> T2 = !listconcat(S, ["foo"], S, ["bar", "baz"]);
16*9880d681SAndroid Build Coastguard Worker}
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Workerdef Z : Y<["fu"]>;
19