From: Douglas Gregor Date: Tue, 5 Oct 2010 20:41:58 +0000 (+0000) Subject: Serialize the "inline" bit for namespaces. Fixes . X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0a0c3e72ce42f84f361c285e6963d44213ab6bea;p=clang Serialize the "inline" bit for namespaces. Fixes . git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115667 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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;