diff options
| author | Zhongxing Xu <xuzhongxing@gmail.com> | 2008-11-24 09:38:21 +0000 |
|---|---|---|
| committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2008-11-24 09:38:21 +0000 |
| commit | 1dffa8cd73348e7ac1fa947c23502135904c06c6 (patch) | |
| tree | b5aad950401e74e7008faf2811006e3d4797649f | |
| parent | 9bc1a6554eed5abd341be3f45934d1eaa1026d14 (diff) | |
| download | bcm5719-llvm-1dffa8cd73348e7ac1fa947c23502135904c06c6.tar.gz bcm5719-llvm-1dffa8cd73348e7ac1fa947c23502135904c06c6.zip | |
Add utility methods.
llvm-svn: 59956
| -rw-r--r-- | clang/include/clang/Analysis/PathSensitive/SVals.h | 5 | ||||
| -rw-r--r-- | clang/lib/Analysis/SVals.cpp | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/clang/include/clang/Analysis/PathSensitive/SVals.h b/clang/include/clang/Analysis/PathSensitive/SVals.h index 0bacc863e14..ca78f66099b 100644 --- a/clang/include/clang/Analysis/PathSensitive/SVals.h +++ b/clang/include/clang/Analysis/PathSensitive/SVals.h @@ -174,12 +174,17 @@ public: static NonLoc MakeVal(BasicValueFactory& BasicVals, unsigned X, bool isUnsigned); + static NonLoc MakeVal(BasicValueFactory& BasicVals, uint64_t X, + unsigned BitWidth, bool isUnsigned); + static NonLoc MakeVal(BasicValueFactory& BasicVals, uint64_t X, QualType T); static NonLoc MakeVal(BasicValueFactory& BasicVals, IntegerLiteral* I); static NonLoc MakeVal(BasicValueFactory& BasicVals, const llvm::APInt& I, bool isUnsigned); + + static NonLoc MakeVal(BasicValueFactory& BasicVals, const llvm::APSInt& I); static NonLoc MakeIntTruthVal(BasicValueFactory& BasicVals, bool b); diff --git a/clang/lib/Analysis/SVals.cpp b/clang/lib/Analysis/SVals.cpp index 0210729b469..524904dafaf 100644 --- a/clang/lib/Analysis/SVals.cpp +++ b/clang/lib/Analysis/SVals.cpp @@ -248,6 +248,11 @@ NonLoc NonLoc::MakeVal(BasicValueFactory& BasicVals, unsigned X, isUnsigned)); } +NonLoc NonLoc::MakeVal(BasicValueFactory& BasicVals, uint64_t X, + unsigned BitWidth, bool isUnsigned) { + return nonloc::ConcreteInt(BasicVals.getValue(X, BitWidth, isUnsigned)); +} + NonLoc NonLoc::MakeVal(BasicValueFactory& BasicVals, uint64_t X, QualType T) { return nonloc::ConcreteInt(BasicVals.getValue(X, T)); } @@ -263,6 +268,10 @@ NonLoc NonLoc::MakeVal(BasicValueFactory& BasicVals, const llvm::APInt& I, return nonloc::ConcreteInt(BasicVals.getValue(I, isUnsigned)); } +NonLoc NonLoc::MakeVal(BasicValueFactory& BasicVals, const llvm::APSInt& I) { + return nonloc::ConcreteInt(BasicVals.getValue(I)); +} + NonLoc NonLoc::MakeIntTruthVal(BasicValueFactory& BasicVals, bool b) { return nonloc::ConcreteInt(BasicVals.getTruthValue(b)); } |

