[clang] [clang-format] Don't count template template parameter as declaration (PR #95025)

Björn Schäpers via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 11 11:49:59 PDT 2024


================
@@ -1269,10 +1269,17 @@ class AnnotatingParser {
     if (CurrentToken && CurrentToken->is(tok::less)) {
       CurrentToken->setType(TT_TemplateOpener);
       next();
-      if (!parseAngle())
+      TemplateDeclarationDepth++;
+      if (!parseAngle()) {
+        TemplateDeclarationDepth--;
         return false;
-      if (CurrentToken)
+      }
+      TemplateDeclarationDepth--;
+      if (CurrentToken &&
+          !(TemplateDeclarationDepth > 0 &&
+            CurrentToken->isOneOf(tok::kw_typename, tok::kw_class))) {
----------------
HazardyKnusperkeks wrote:

```suggestion
          (TemplateDeclarationDepth == 0 ||
            !CurrentToken->isOneOf(tok::kw_typename, tok::kw_class))) {
```

https://github.com/llvm/llvm-project/pull/95025


More information about the cfe-commits mailing list