Author: Simon Pilgrim
Date: 2020-03-12T18:52:58Z
New Revision: adeb8c54285e754f7c34690b583a0bd9af19de78

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

LOG: Replace getAs with castAs to fix null dereference static analyzer warning.

Use castAs as we know the cast should succeed (and castAs will assert if it 
doesn't) and we're dereferencing it directly in the BuildRCBlockVarRecordLayout 
call.

Added: 
    

Modified: 
    clang/lib/CodeGen/CGObjCMac.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp
index 44c14a745a98..87fd51b5d8b1 100644
--- a/clang/lib/CodeGen/CGObjCMac.cpp
+++ b/clang/lib/CodeGen/CGObjCMac.cpp
@@ -2558,9 +2558,8 @@ void CGObjCCommonMac::BuildRCRecordLayout(const 
llvm::StructLayout *RecLayout,
       }
       if (FQT->isRecordType() && ElCount) {
         int OldIndex = RunSkipBlockVars.size() - 1;
-        const RecordType *RT = FQT->getAs<RecordType>();
-        BuildRCBlockVarRecordLayout(RT, BytePos + FieldOffset,
-                                    HasUnion);
+        auto *RT = FQT->castAs<RecordType>();
+        BuildRCBlockVarRecordLayout(RT, BytePos + FieldOffset, HasUnion);
 
         // Replicate layout information for each array element. Note that
         // one element is already done.


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to