Home | History | Annotate | Download | only in TableGen
      1 // RUN: llvm-tblgen %s | FileCheck %s
      2 
      3 // CHECK: class Y<string Y:S = ?> {
      4 // CHECK:   string T = !strconcat(Y:S, "foo");
      5 // CHECK:   string T2 = !strconcat(Y:S, !strconcat("foo", !strconcat(Y:S, "bar")));
      6 // CHECK:   string S = "foobar";
      7 // CHECK: }
      8 
      9 // CHECK: def Z {
     10 // CHECK:   string T = "fufoo";
     11 // CHECK:   string T2 = "fufoofubar";
     12 // CHECK:   string S = "foobar";
     13 // CHECK: }
     14 
     15 class Y<string S> {
     16   string T = !strconcat(S, "foo");
     17   // More than two arguments is equivalent to nested calls
     18   string T2 = !strconcat(S, "foo", S, "bar");
     19 
     20   // String values concatenate lexically, as in C.
     21   string S = "foo" "bar";
     22 }
     23 
     24 def Z : Y<"fu">;
     25