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