diff options
| author | Douglas Gregor <dgregor@apple.com> | 2011-05-20 16:38:50 +0000 | 
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2011-05-20 16:38:50 +0000 | 
| commit | 6ab2fa8f78f4c76da056580ec3ee1780eab08c76 (patch) | |
| tree | b174ce5a814cd52cca8718ca8e7867f84f3abf15 /clang/lib/StaticAnalyzer/Core/ExprEngine.cpp | |
| parent | 24b31b6b7d082cbbeb81b1d4106f3fdd4e349d1d (diff) | |
| download | bcm5719-llvm-6ab2fa8f78f4c76da056580ec3ee1780eab08c76.tar.gz bcm5719-llvm-6ab2fa8f78f4c76da056580ec3ee1780eab08c76.zip | |
Introduce Type::isSignedIntegerOrEnumerationType() and
Type::isUnsignedIntegerOrEnumerationType(), which are like
Type::isSignedIntegerType() and Type::isUnsignedIntegerType() but also
consider the underlying type of a C++0x scoped enumeration type.
Audited all callers to the existing functions, switching those that
need to also handle scoped enumeration types (e.g., those that deal
with constant values) over to the new functions. Fixes PR9923 /
<rdar://problem/9447851>.
llvm-svn: 131735
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ExprEngine.cpp')
| -rw-r--r-- | clang/lib/StaticAnalyzer/Core/ExprEngine.cpp | 2 | 
1 files changed, 1 insertions, 1 deletions
| diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp index 69ef4cfc4ca..60b16abd196 100644 --- a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp +++ b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp @@ -2464,7 +2464,7 @@ void ExprEngine::VisitOffsetOfExpr(const OffsetOfExpr* OOE,      const APSInt &IV = Res.Val.getInt();      assert(IV.getBitWidth() == getContext().getTypeSize(OOE->getType()));      assert(OOE->getType()->isIntegerType()); -    assert(IV.isSigned() == OOE->getType()->isSignedIntegerType()); +    assert(IV.isSigned() == OOE->getType()->isSignedIntegerOrEnumerationType());      SVal X = svalBuilder.makeIntVal(IV);      MakeNode(Dst, OOE, Pred, GetState(Pred)->BindExpr(OOE, X));      return; | 

