summaryrefslogtreecommitdiffstats
path: root/clang/lib/Checker/CastSizeChecker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Checker/CastSizeChecker.cpp')
-rw-r--r--clang/lib/Checker/CastSizeChecker.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Checker/CastSizeChecker.cpp b/clang/lib/Checker/CastSizeChecker.cpp
index 754d775a65d..59ea9e0e84f 100644
--- a/clang/lib/Checker/CastSizeChecker.cpp
+++ b/clang/lib/Checker/CastSizeChecker.cpp
@@ -63,6 +63,11 @@ void CastSizeChecker::PreVisitCastExpr(CheckerContext &C, const CastExpr *CE) {
CharUnits RegionSize = CharUnits::fromQuantity(CI->getValue().getSExtValue());
CharUnits TypeSize = C.getASTContext().getTypeSizeInChars(ToPointeeTy);
+
+ // void, and a few other un-sizeable types
+ if (TypeSize.isZero())
+ return;
+
if (RegionSize % TypeSize != 0) {
if (ExplodedNode *N = C.GenerateSink()) {
if (!BT)
OpenPOWER on IntegriCloud