diff options
-rw-r--r-- | Analysis/LiveVariables.cpp | 1 | ||||
-rw-r--r-- | Analysis/UninitializedValues.cpp | 16 |
2 files changed, 14 insertions, 3 deletions
diff --git a/Analysis/LiveVariables.cpp b/Analysis/LiveVariables.cpp index eba1a77941..a9322f2d90 100644 --- a/Analysis/LiveVariables.cpp +++ b/Analysis/LiveVariables.cpp @@ -93,6 +93,7 @@ void TransferFuncs::VisitUnaryOperator(UnaryOperator* U) { Stmt *S = U->getSubExpr(); switch (U->getOpcode()) { + case UnaryOperator::SizeOf: return; case UnaryOperator::PostInc: case UnaryOperator::PostDec: case UnaryOperator::PreInc: diff --git a/Analysis/UninitializedValues.cpp b/Analysis/UninitializedValues.cpp index aec3197279..9651814b02 100644 --- a/Analysis/UninitializedValues.cpp +++ b/Analysis/UninitializedValues.cpp @@ -136,9 +136,19 @@ bool TransferFuncs::VisitCallExpr(CallExpr* C) { } bool TransferFuncs::VisitUnaryOperator(UnaryOperator* U) { - if (U->getOpcode() == UnaryOperator::AddrOf) - if (BlockVarDecl* VD = FindBlockVarDecl(U->getSubExpr())) - return V(VD,AD) = Initialized; + switch (U->getOpcode()) { + case UnaryOperator::AddrOf: + if (BlockVarDecl* VD = FindBlockVarDecl(U->getSubExpr())) + return V(VD,AD) = Initialized; + + break; + + case UnaryOperator::SizeOf: + return Initialized; + + default: + break; + } return Visit(U->getSubExpr()); } |