[clang] [clang] Fix elaborated keyword canonicalization (PR #135916)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 16 06:42:23 PDT 2025


================
@@ -1938,6 +1938,17 @@ TagDecl *Type::getAsTagDecl() const {
   return nullptr;
 }
 
+const TemplateSpecializationType *
+Type::getAsNonAliasTemplateSpecializationType() const {
+  for (const auto *T = this; /**/; /**/) {
+    const TemplateSpecializationType *TST =
+        T->getAs<TemplateSpecializationType>();
+    if (!TST || !TST->isTypeAlias())
+      return TST;
+    T = TST->desugar().getTypePtr();
----------------
erichkeane wrote:

Can this ever result in a `nullptr`??  No, right?  So we don't have to worry about the next iteration of 1945 dereferencing nullptr?

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


More information about the cfe-commits mailing list