================
@@ -6300,7 +6300,7 @@ NamedDecl *Sema::FindInstantiatedDecl(SourceLocation Loc,
NamedDecl *D,
getTrivialTemplateArgumentLoc(UnpackedArg, QualType(), Loc));
}
QualType T = CheckTemplateIdType(TemplateName(TD), Loc, Args);
- if (T.isNull())
+ if (T.isNull() || T->containsErrors())
----------------
alejandro-alvarez-sonarsource wrote:
I have checked the other places where `CheckTemplateIdType` is used, and
indeed, I can not (easily, at least) find any reason why we would have a crash
in those places. For instance, in
[`SemaTemplate.cpp`](https://github.com/llvm/llvm-project/blob/9ae24c9ac94017e15eb827e25c5693418e6cdb4b/clang/lib/Sema/SemaTemplate.cpp#L5072)
there is a similar pattern (as @Sirraide was concerned), but there a null
`RecordType` is appropriately handled.
While looking at it, I realized that the null pointer dereference we had fixed
downstream was fixed upstream [four months
ago](https://github.com/llvm/llvm-project/commit/7415524b45392651969374c067041daa82dc89e7#diff-761c59b5215d832845bd988566c7d0abaa1cc6294cb8ea90f32e33d15bfccf28R6290)
in #77890. The introduced assertions trigger, though, throwing me off (since
the stack trace is almost identical).
I have gone back to the original commit and added a comment. I will also rework
the PR title and description.
https://github.com/llvm/llvm-project/pull/96509
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits