[clang] d462185 - Fix "pointer is null" static analyzer warning. NFCI.

Simon Pilgrim via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 9 04:44:28 PST 2020


Author: Simon Pilgrim
Date: 2020-01-09T12:37:38Z
New Revision: d462185e8daa49889c31c8f5568749e379a5ddf9

URL: https://github.com/llvm/llvm-project/commit/d462185e8daa49889c31c8f5568749e379a5ddf9
DIFF: https://github.com/llvm/llvm-project/commit/d462185e8daa49889c31c8f5568749e379a5ddf9.diff

LOG: Fix "pointer is null" static analyzer warning. NFCI.

Use cast<> instead of dyn_cast<> since we know that the pointer should be valid (and is dereferenced immediately below).

Added: 
    

Modified: 
    clang/lib/Sema/SemaTemplateInstantiateDecl.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
index a8fc77fff7d5..98e05f099198 100755
--- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
@@ -655,11 +655,10 @@ void Sema::InstantiateAttrs(const MultiLevelTemplateArgumentList &TemplateArgs,
       LateAttrs->push_back(LateInstantiatedAttribute(TmplAttr, Saved, New));
     } else {
       // Allow 'this' within late-parsed attributes.
-      NamedDecl *ND = dyn_cast<NamedDecl>(New);
-      CXXRecordDecl *ThisContext =
-          dyn_cast_or_null<CXXRecordDecl>(ND->getDeclContext());
+      auto *ND = cast<NamedDecl>(New);
+      auto *ThisContext = dyn_cast_or_null<CXXRecordDecl>(ND->getDeclContext());
       CXXThisScopeRAII ThisScope(*this, ThisContext, Qualifiers(),
-                                 ND && ND->isCXXInstanceMember());
+                                 ND->isCXXInstanceMember());
 
       Attr *NewAttr = sema::instantiateTemplateAttribute(TmplAttr, Context,
                                                          *this, TemplateArgs);


        


More information about the cfe-commits mailing list