================
@@ -683,6 +683,18 @@ class ASTNodeTraverser
     Visit(D->getMessage());
   }
 
+  void VisitExplicitInstantiationDecl(const ExplicitInstantiationDecl *D) {
+    // The specialization is already elsewhere in the AST; don't re-traverse 
it.
+    // Traverse source-location sub-nodes: template arguments and
+    // type-as-written.
+    if (const auto *ArgsAsWritten = D->getTemplateArgsAsWritten())
+      for (unsigned I = 0, E = ArgsAsWritten->NumTemplateArgs; I != E; ++I)
----------------
zwuis wrote:

```cpp
for (TemplateArgumentLoc Loc : ArgsAsWritten->arguments()) {
  // ...
}
```

Use range-based `for`. Ditto elsewhere.

https://github.com/llvm/llvm-project/pull/191658
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to