diff options
| author | Richard Trieu <rtrieu@google.com> | 2014-10-31 21:10:22 +0000 |
|---|---|---|
| committer | Richard Trieu <rtrieu@google.com> | 2014-10-31 21:10:22 +0000 |
| commit | d4a013600232120cb157df89a1993183b16c8d0c (patch) | |
| tree | b2e018e546839ccac8e945d8b619df0150f66105 /clang/lib/Sema/SemaDecl.cpp | |
| parent | 5ad0169855cbc152a5f76a0e7c8117d56f557cc4 (diff) | |
| download | bcm5719-llvm-d4a013600232120cb157df89a1993183b16c8d0c.tar.gz bcm5719-llvm-d4a013600232120cb157df89a1993183b16c8d0c.zip | |
Have -Wuninitialized catch uninitalized use in overloaded operator arguments.
llvm-svn: 221000
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 3d0ebf277d0..734a01e2e30 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -8434,11 +8434,14 @@ namespace { } void VisitCXXOperatorCallExpr(CXXOperatorCallExpr *E) { - if (E->getNumArgs() > 0) - if (DeclRefExpr *DRE = dyn_cast<DeclRefExpr>(E->getArg(0))) - HandleDeclRefExpr(DRE); + Expr *Callee = E->getCallee(); + + if (isa<UnresolvedLookupExpr>(Callee)) + return Inherited::VisitCXXOperatorCallExpr(E); - Inherited::VisitCXXOperatorCallExpr(E); + Visit(Callee); + for (auto Arg: E->arguments()) + HandleValue(Arg->IgnoreParenImpCasts()); } void VisitUnaryOperator(UnaryOperator *E) { |

