[PATCH] D94933: [clang] Check for nullptr when instantiating late attrs
Adam Czachorowski via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Jan 18 14:19:43 PST 2021
adamcz created this revision.
adamcz added a reviewer: hokein.
Herald added subscribers: usaxena95, kadircet.
adamcz requested review of this revision.
Herald added subscribers: cfe-commits, ilya-biryukov.
Herald added a project: clang.
This was already done in SemaTemplateInstantiateDecl.cpp, but not in
SemaTemplateInstantiate.cpp.
Anecdotally I've seen some clangd crashes where coredumps point to this
being a problem, but I cannot reproduce this so far.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D94933
Files:
clang/lib/Sema/SemaTemplateInstantiate.cpp
Index: clang/lib/Sema/SemaTemplateInstantiate.cpp
===================================================================
--- clang/lib/Sema/SemaTemplateInstantiate.cpp
+++ clang/lib/Sema/SemaTemplateInstantiate.cpp
@@ -2794,7 +2794,8 @@
Attr *NewAttr =
instantiateTemplateAttribute(I->TmplAttr, Context, *this, TemplateArgs);
- I->NewDecl->addAttr(NewAttr);
+ if (NewAttr)
+ I->NewDecl->addAttr(NewAttr);
LocalInstantiationScope::deleteScopes(I->Scope,
Instantiator.getStartingScope());
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D94933.317419.patch
Type: text/x-patch
Size: 562 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210118/a2163b52/attachment.bin>
More information about the cfe-commits
mailing list