]> granicus.if.org Git - clang/commitdiff
OverloadCandidate::getNumParams - silence static analyzer getAs<FunctionProtoType...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 3 Oct 2019 21:27:02 +0000 (21:27 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 3 Oct 2019 21:27:02 +0000 (21:27 +0000)
The static analyzer is warning about a potential null dereference, but we should be able to use castAs<FunctionProtoType> directly and if not assert will fire for us.

Also replaces an auto to make the type more obvious.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@373665 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Sema/Overload.h

index e9280103a34d6b303cbcba0c4638e0d38df92dbd..144e6d927cdba476bd09ac38b290995e8789b568 100644 (file)
@@ -826,10 +826,10 @@ class Sema;
 
     unsigned getNumParams() const {
       if (IsSurrogate) {
-        auto STy = Surrogate->getConversionType();
+        QualType STy = Surrogate->getConversionType();
         while (STy->isPointerType() || STy->isReferenceType())
           STy = STy->getPointeeType();
-        return STy->getAs<FunctionProtoType>()->getNumParams();
+        return STy->castAs<FunctionProtoType>()->getNumParams();
       }
       if (Function)
         return Function->getNumParams();