diff options
-rw-r--r-- | clang/lib/Serialization/ASTReaderDecl.cpp | 1 | ||||
-rw-r--r-- | clang/lib/Serialization/ASTWriterDecl.cpp | 1 | ||||
-rw-r--r-- | clang/test/PCH/Inputs/namespaces.h | 4 | ||||
-rw-r--r-- | clang/test/PCH/namespaces.cpp | 3 |
4 files changed, 9 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp index a68f562a3f0..e42a5b4923d 100644 --- a/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/clang/lib/Serialization/ASTReaderDecl.cpp @@ -658,6 +658,7 @@ void ASTDeclReader::VisitLinkageSpecDecl(LinkageSpecDecl *D) { void ASTDeclReader::VisitNamespaceDecl(NamespaceDecl *D) { VisitNamedDecl(D); + D->IsInline = Record[Idx++]; D->setLBracLoc(ReadSourceLocation(Record, Idx)); D->setRBracLoc(ReadSourceLocation(Record, Idx)); D->setNextNamespace( diff --git a/clang/lib/Serialization/ASTWriterDecl.cpp b/clang/lib/Serialization/ASTWriterDecl.cpp index f8d584bb51c..07520d802b5 100644 --- a/clang/lib/Serialization/ASTWriterDecl.cpp +++ b/clang/lib/Serialization/ASTWriterDecl.cpp @@ -610,6 +610,7 @@ void ASTDeclWriter::VisitLinkageSpecDecl(LinkageSpecDecl *D) { void ASTDeclWriter::VisitNamespaceDecl(NamespaceDecl *D) { VisitNamedDecl(D); + Record.push_back(D->isInline()); Writer.AddSourceLocation(D->getLBracLoc(), Record); Writer.AddSourceLocation(D->getRBracLoc(), Record); Writer.AddDeclRef(D->getNextNamespace(), Record); diff --git a/clang/test/PCH/Inputs/namespaces.h b/clang/test/PCH/Inputs/namespaces.h index 553aadd1f9e..bd2c3ee9827 100644 --- a/clang/test/PCH/Inputs/namespaces.h +++ b/clang/test/PCH/Inputs/namespaces.h @@ -38,3 +38,7 @@ using namespace N2::Inner; extern "C" { void ext(); } + +inline namespace N4 { + struct MemberOfN4; +} diff --git a/clang/test/PCH/namespaces.cpp b/clang/test/PCH/namespaces.cpp index b8a22e57a06..6dd447318a0 100644 --- a/clang/test/PCH/namespaces.cpp +++ b/clang/test/PCH/namespaces.cpp @@ -40,3 +40,6 @@ void (*pused)() = used_func; using N1::used_cls; used_cls s1; used_cls* ps1 = &s1; + +inline namespace N4 { } +struct MemberOfN4 *mn4; |