Fix transfer function logic in GRSimpleVals for integer casts: only support casts from integers to integers.
This fixes a crash reported by Anders Carlsson!
llvm-svn: 53649
diff --git a/clang/lib/Analysis/GRSimpleVals.cpp b/clang/lib/Analysis/GRSimpleVals.cpp
index 860a786..562e579 100644
--- a/clang/lib/Analysis/GRSimpleVals.cpp
+++ b/clang/lib/Analysis/GRSimpleVals.cpp
@@ -377,6 +377,10 @@
if (!isa<nonlval::ConcreteInt>(X))
return UnknownVal();
+ // Only handle casts from integers to integers.
+ if (!T->isIntegerType())
+ return UnknownVal();
+
BasicValueFactory& BasicVals = Eng.getBasicVals();
llvm::APSInt V = cast<nonlval::ConcreteInt>(X).getValue();