leanil updated this revision to Diff 136474. leanil added a comment. `getQuantity()` returns a signed type
https://reviews.llvm.org/D43928 Files: lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp Index: lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp =================================================================== --- lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp +++ lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp @@ -514,7 +514,7 @@ *Source = CE->getArg(1)->IgnoreImpCasts(); if (const auto *DeclRef = dyn_cast<DeclRefExpr>(Target)) if (const auto *Array = dyn_cast<ConstantArrayType>(DeclRef->getType())) { - uint64_t ArraySize = BR.getContext().getTypeSize(Array) / 8; + auto ArraySize = BR.getContext().getTypeSizeInChars(Array).getQuantity(); if (const auto *String = dyn_cast<StringLiteral>(Source)) { if (ArraySize >= String->getLength() + 1) return;
Index: lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp =================================================================== --- lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp +++ lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp @@ -514,7 +514,7 @@ *Source = CE->getArg(1)->IgnoreImpCasts(); if (const auto *DeclRef = dyn_cast<DeclRefExpr>(Target)) if (const auto *Array = dyn_cast<ConstantArrayType>(DeclRef->getType())) { - uint64_t ArraySize = BR.getContext().getTypeSize(Array) / 8; + auto ArraySize = BR.getContext().getTypeSizeInChars(Array).getQuantity(); if (const auto *String = dyn_cast<StringLiteral>(Source)) { if (ArraySize >= String->getLength() + 1) return;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits