From b1c91bfc45f46c1e01f8cbeca807da4bd08e0940 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Fri, 18 Jul 2008 15:54:51 +0000 Subject: Fix regression by explicitly checking if we are negating a SymIntConstantVal. llvm-svn: 53753 --- clang/lib/Analysis/RValues.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'clang/lib/Analysis/RValues.cpp') diff --git a/clang/lib/Analysis/RValues.cpp b/clang/lib/Analysis/RValues.cpp index 60c349420a3..ed3dba925eb 100644 --- a/clang/lib/Analysis/RValues.cpp +++ b/clang/lib/Analysis/RValues.cpp @@ -54,6 +54,20 @@ RVal::symbol_iterator RVal::symbol_end() const { return X ? X+1 : NULL; } +//===----------------------------------------------------------------------===// +// Useful predicates. +//===----------------------------------------------------------------------===// + +bool RVal::isZeroConstant() const { + if (isa(*this)) + return cast(*this).getValue() == 0; + else if (isa(*this)) + return cast(*this).getValue() == 0; + else + return false; +} + + //===----------------------------------------------------------------------===// // Transfer function dispatch for Non-LVals. //===----------------------------------------------------------------------===// -- cgit v1.2.3