================
@@ -0,0 +1,46 @@
+//===--- BuiltinTemplates.td - Clang builtin template aliases ---*- C++ 
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+class TemplateArg<string name> {
+  string Name = name;
+}
+
+class Template<list<TemplateArg> args, string name> : TemplateArg<name> {
+  list<TemplateArg> Args = args;
+}
+
+class Class<string name, bit is_variadic = 0> : TemplateArg<name> {
----------------
erichkeane wrote:

This represents the `class` keyword, right?  In a few places `typename` can be 
used instead.  I was noodling whether spelling it as `typename` instead of 
`class` would be valuable.  I don't think there is 24 hrs later, but was asking.

https://github.com/llvm/llvm-project/pull/123736
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to