| 123456789101112131415161718192021222324 |
- // RUN: llvm-tblgen %s | FileCheck %s
- // CHECK: class Y<string Y:S = ?> {
- // CHECK: string T = !strconcat(Y:S, "foo");
- // CHECK: string T2 = !strconcat(Y:S, !strconcat("foo", !strconcat(Y:S, "bar")));
- // CHECK: string S = "foobar";
- // CHECK: }
- // CHECK: def Z {
- // CHECK: string T = "fufoo";
- // CHECK: string T2 = "fufoofubar";
- // CHECK: string S = "foobar";
- // CHECK: }
- class Y<string S> {
- string T = !strconcat(S, "foo");
- // More than two arguments is equivalent to nested calls
- string T2 = !strconcat(S, "foo", S, "bar");
- // String values concatenate lexically, as in C.
- string S = "foo" "bar";
- }
- def Z : Y<"fu">;
|