diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-02-15 22:09:30 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-02-15 22:09:30 +0000 |
commit | 50d0ac299c641bee9024f3fbae2ea0640898a040 (patch) | |
tree | 806780088e3394fb6fe55eae3b122b4326ff0bd8 /Analysis/RValues.cpp | |
parent | 5d826b82936beb2c32dd02460332ba8035192c65 (diff) |
Simplified transfer function logic for ++/-- operators.
Added more boilerplate transfer function support for pointer arithmetic.
Added more pretty-printing support for symbolic constraints.
Added transfer function support for handling enum values.
Minor pointer types cleanup in ExplodedGraphImpl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47183 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Analysis/RValues.cpp')
-rw-r--r-- | Analysis/RValues.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/Analysis/RValues.cpp b/Analysis/RValues.cpp index 8eb607c9e5..a9b44eb3d2 100644 --- a/Analysis/RValues.cpp +++ b/Analysis/RValues.cpp @@ -428,11 +428,23 @@ void RValue::print(std::ostream& Out) const { } static void printOpcode(std::ostream& Out, BinaryOperator::Opcode Op) { - switch (Op) { + switch (Op) { + case BinaryOperator::Mul: Out << "*"; break; + case BinaryOperator::Div: Out << "/"; break; + case BinaryOperator::Rem: Out << "%" ; break; case BinaryOperator::Add: Out << "+" ; break; case BinaryOperator::Sub: Out << "-" ; break; + case BinaryOperator::Shl: Out << "<<" ; break; + case BinaryOperator::Shr: Out << ">>" ; break; + case BinaryOperator::LT: Out << "<" ; break; + case BinaryOperator::GT: Out << ">" ; break; + case BinaryOperator::LE: Out << "<=" ; break; + case BinaryOperator::GE: Out << ">=" ; break; case BinaryOperator::EQ: Out << "=="; break; case BinaryOperator::NE: Out << "!="; break; + case BinaryOperator::And: Out << "&" ; break; + case BinaryOperator::Xor: Out << "^" ; break; + case BinaryOperator::Or: Out << "|" ; break; default: assert(false && "Not yet implemented."); } } |