diff options
Diffstat (limited to 'lib/Analysis/Expressions.cpp')
-rw-r--r-- | lib/Analysis/Expressions.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Analysis/Expressions.cpp b/lib/Analysis/Expressions.cpp index b9a1b01dbc..9b305bbe40 100644 --- a/lib/Analysis/Expressions.cpp +++ b/lib/Analysis/Expressions.cpp @@ -317,7 +317,9 @@ ExprType ClassifyExpression(Value *Expr) { if (isa<PointerType>(DestTy)) DestTy = Type::ULongTy; // Pointer types are represented as ulong - if (!Src.getExprType(0)->isLosslesslyConvertibleTo(DestTy)) { + const Type *SrcValTy = Src.getExprType(0); + if (!SrcValTy) return I; + if (!SrcValTy->isLosslesslyConvertibleTo(DestTy)) { if (Src.ExprTy != ExprType::Constant) return I; // Converting cast, and not a constant value... } |