Replace getAs with castAs to fix null dereference static analyzer warning.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 5 Mar 2020 15:28:43 +0000 (15:28 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 5 Mar 2020 15:28:54 +0000 (15:28 +0000)
Use castAs as we know the cast should succeed and we're dereferencing in the mangleBareFunctionType call.

clang/lib/AST/ItaniumMangle.cpp

index 5d485e000750b1dd58dda46aa654c5e4b1989cbc..6d21869e2f11963a0b8d99bed059bd87d8bbd4a6 100644 (file)
@@ -1776,8 +1776,8 @@ void CXXNameMangler::mangleLambda(const CXXRecordDecl *Lambda) {
 void CXXNameMangler::mangleLambdaSig(const CXXRecordDecl *Lambda) {
   for (auto *D : Lambda->getLambdaExplicitTemplateParameters())
     mangleTemplateParamDecl(D);
-  const FunctionProtoType *Proto = Lambda->getLambdaTypeInfo()->getType()->
-                                   getAs<FunctionProtoType>();
+  auto *Proto =
+      Lambda->getLambdaTypeInfo()->getType()->castAs<FunctionProtoType>();
   mangleBareFunctionType(Proto, /*MangleReturnType=*/false,
                          Lambda->getLambdaStaticInvoker());
 }