diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-10-05 20:41:58 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-10-05 20:41:58 +0000 |
commit | 0a0c3e72ce42f84f361c285e6963d44213ab6bea (patch) | |
tree | 21e144777dac13e9a58e78f4f2807868e8b553b4 | |
parent | 97475834207bf5abb5b58534f783c9b71d4b9df1 (diff) |
Serialize the "inline" bit for namespaces. Fixes <rdar://problem/8515069>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115667 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Serialization/ASTReaderDecl.cpp | 1 | ||||
-rw-r--r-- | lib/Serialization/ASTWriterDecl.cpp | 1 | ||||
-rw-r--r-- | test/PCH/Inputs/namespaces.h | 4 | ||||
-rw-r--r-- | test/PCH/namespaces.cpp | 3 |
4 files changed, 9 insertions, 0 deletions
diff --git a/lib/Serialization/ASTReaderDecl.cpp b/lib/Serialization/ASTReaderDecl.cpp index a68f562a3f..e42a5b4923 100644 --- a/lib/Serialization/ASTReaderDecl.cpp +++ b/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/lib/Serialization/ASTWriterDecl.cpp b/lib/Serialization/ASTWriterDecl.cpp index f8d584bb51..07520d802b 100644 --- a/lib/Serialization/ASTWriterDecl.cpp +++ b/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/test/PCH/Inputs/namespaces.h b/test/PCH/Inputs/namespaces.h index 553aadd1f9..bd2c3ee982 100644 --- a/test/PCH/Inputs/namespaces.h +++ b/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/test/PCH/namespaces.cpp b/test/PCH/namespaces.cpp index b8a22e57a0..6dd447318a 100644 --- a/test/PCH/namespaces.cpp +++ b/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; |