diff options
| -rw-r--r-- | clang/Analysis/LiveVariables.cpp | 1 | ||||
| -rw-r--r-- | clang/Analysis/UninitializedValues.cpp | 16 |
2 files changed, 14 insertions, 3 deletions
diff --git a/clang/Analysis/LiveVariables.cpp b/clang/Analysis/LiveVariables.cpp index eba1a77941f..a9322f2d905 100644 --- a/clang/Analysis/LiveVariables.cpp +++ b/clang/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/clang/Analysis/UninitializedValues.cpp b/clang/Analysis/UninitializedValues.cpp index aec31972796..9651814b02d 100644 --- a/clang/Analysis/UninitializedValues.cpp +++ b/clang/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()); } |

