summaryrefslogtreecommitdiffstats
path: root/clang/lib/Serialization
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2019-06-11 17:50:36 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2019-06-11 17:50:36 +0000
commit1bbad59379c44cc46c7e99710e9a4730eed4ff75 (patch)
treed28ff007280e26e33e315e30a99a8901d3a8e81c /clang/lib/Serialization
parent715f7a1bd058c64a39cc4773114dfb46ae8cc8a3 (diff)
downloadbcm5719-llvm-1bbad59379c44cc46c7e99710e9a4730eed4ff75.tar.gz
bcm5719-llvm-1bbad59379c44cc46c7e99710e9a4730eed4ff75.zip
For DR712: store on a MemberExpr whether it constitutes an odr-use.
llvm-svn: 363087
Diffstat (limited to 'clang/lib/Serialization')
-rw-r--r--clang/lib/Serialization/ASTReaderStmt.cpp1
-rw-r--r--clang/lib/Serialization/ASTWriterStmt.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReaderStmt.cpp b/clang/lib/Serialization/ASTReaderStmt.cpp
index a5ed9364509..4955343a420 100644
--- a/clang/lib/Serialization/ASTReaderStmt.cpp
+++ b/clang/lib/Serialization/ASTReaderStmt.cpp
@@ -768,6 +768,7 @@ void ASTStmtReader::VisitMemberExpr(MemberExpr *E) {
E->MemberExprBits.HasQualifierOrFoundDecl = HasQualifier || HasFoundDecl;
E->MemberExprBits.HasTemplateKWAndArgsInfo = HasTemplateInfo;
E->MemberExprBits.HadMultipleCandidates = Record.readInt();
+ E->MemberExprBits.NonOdrUseReason = Record.readInt();
E->MemberExprBits.OperatorLoc = Record.readSourceLocation();
if (HasQualifier || HasFoundDecl) {
diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp
index 2b707520a8e..bd715461cb9 100644
--- a/clang/lib/Serialization/ASTWriterStmt.cpp
+++ b/clang/lib/Serialization/ASTWriterStmt.cpp
@@ -686,6 +686,7 @@ void ASTStmtWriter::VisitMemberExpr(MemberExpr *E) {
Record.AddSourceLocation(E->getMemberLoc());
Record.push_back(E->isArrow());
Record.push_back(E->hadMultipleCandidates());
+ Record.push_back(E->isNonOdrUse());
Record.AddSourceLocation(E->getOperatorLoc());
if (HasFoundDecl) {
OpenPOWER on IntegriCloud