clang-tidy - silence static analyzer getAs<> null dereference warnings. NFCI.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 17 Oct 2019 11:12:53 +0000 (11:12 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 17 Oct 2019 11:12:53 +0000 (11:12 +0000)
The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.

llvm-svn: 375102

clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp

index 3cec1fb..e646ee9 100644 (file)
@@ -478,7 +478,7 @@ canOverloadedOperatorArgsBeModified(const FunctionDecl *OperatorDecl,
   // These functions must be declared const in order to not be able to modify
   // the instance of the class they are called through.
   if (ParamCount == 1 &&
-      !OperatorDecl->getType()->getAs<FunctionType>()->isConst())
+      !OperatorDecl->getType()->castAs<FunctionType>()->isConst())
     return true;
 
   if (isNonConstReferenceType(OperatorDecl->getParamDecl(0)->getType()))
index 3c2e0e9..1e59acb 100644 (file)
@@ -29,7 +29,7 @@ static StringRef getValueOfValueInit(const QualType InitType) {
     return "false";
 
   case Type::STK_Integral:
-    switch (InitType->getAs<BuiltinType>()->getKind()) {
+    switch (InitType->castAs<BuiltinType>()->getKind()) {
     case BuiltinType::Char_U:
     case BuiltinType::UChar:
     case BuiltinType::Char_S:
@@ -47,7 +47,7 @@ static StringRef getValueOfValueInit(const QualType InitType) {
     }
 
   case Type::STK_Floating:
-    switch (InitType->getAs<BuiltinType>()->getKind()) {
+    switch (InitType->castAs<BuiltinType>()->getKind()) {
     case BuiltinType::Half:
     case BuiltinType::Float:
       return "0.0f";
@@ -58,10 +58,10 @@ static StringRef getValueOfValueInit(const QualType InitType) {
   case Type::STK_FloatingComplex:
   case Type::STK_IntegralComplex:
     return getValueOfValueInit(
-        InitType->getAs<ComplexType>()->getElementType());
+        InitType->castAs<ComplexType>()->getElementType());
 
   case Type::STK_FixedPoint:
-    switch (InitType->getAs<BuiltinType>()->getKind()) {
+    switch (InitType->castAs<BuiltinType>()->getKind()) {
     case BuiltinType::ShortAccum:
     case BuiltinType::SatShortAccum:
       return "0.0hk";