summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExprMember.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2017-11-01 04:52:12 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2017-11-01 04:52:12 +0000
commita31174efe0c4c7c2547ecdd52f6e4d4e1027213d (patch)
tree2c860494f5338048a9f68dbbb65cc8583ea3eb93 /clang/lib/Sema/SemaExprMember.cpp
parent057a942d9e8441016f33134e4534846b0fa785d9 (diff)
downloadbcm5719-llvm-a31174efe0c4c7c2547ecdd52f6e4d4e1027213d.tar.gz
bcm5719-llvm-a31174efe0c4c7c2547ecdd52f6e4d4e1027213d.zip
Fix -Wunused-private-field to fire regardless of which implicit special members have been implicitly declared.
llvm-svn: 317076
Diffstat (limited to 'clang/lib/Sema/SemaExprMember.cpp')
-rw-r--r--clang/lib/Sema/SemaExprMember.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaExprMember.cpp b/clang/lib/Sema/SemaExprMember.cpp
index bf4cb53b7d8..03ddcc0a3ec 100644
--- a/clang/lib/Sema/SemaExprMember.cpp
+++ b/clang/lib/Sema/SemaExprMember.cpp
@@ -1791,7 +1791,9 @@ Sema::BuildFieldReferenceExpr(Expr *BaseExpr, bool IsArrow,
MemberType = Context.getQualifiedType(MemberType, Combined);
}
- UnusedPrivateFields.remove(Field);
+ auto *CurMethod = dyn_cast<CXXMethodDecl>(CurContext);
+ if (!(CurMethod && CurMethod->isDefaulted()))
+ UnusedPrivateFields.remove(Field);
ExprResult Base = PerformObjectMemberConversion(BaseExpr, SS.getScopeRep(),
FoundDecl, Field);
OpenPOWER on IntegriCloud