summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorRichard Trieu <rtrieu@google.com>2014-10-31 21:10:22 +0000
committerRichard Trieu <rtrieu@google.com>2014-10-31 21:10:22 +0000
commitd4a013600232120cb157df89a1993183b16c8d0c (patch)
treeb2e018e546839ccac8e945d8b619df0150f66105 /clang/lib/Sema/SemaDeclCXX.cpp
parent5ad0169855cbc152a5f76a0e7c8117d56f557cc4 (diff)
downloadbcm5719-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/SemaDeclCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index adbcafe4339..233ab615a52 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -2494,6 +2494,17 @@ namespace {
Inherited::VisitCallExpr(E);
}
+ void VisitCXXOperatorCallExpr(CXXOperatorCallExpr *E) {
+ Expr *Callee = E->getCallee();
+
+ if (isa<UnresolvedLookupExpr>(Callee))
+ return Inherited::VisitCXXOperatorCallExpr(E);
+
+ Visit(Callee);
+ for (auto Arg : E->arguments())
+ HandleValue(Arg->IgnoreParenImpCasts(), false /*AddressOf*/);
+ }
+
void VisitBinaryOperator(BinaryOperator *E) {
// If a field assignment is detected, remove the field from the
// uninitiailized field set.
OpenPOWER on IntegriCloud