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
This commit is contained in:
Douglas Gregor 2010-10-05 20:41:58 +00:00
Родитель 9747583420
Коммит 0a0c3e72ce
4 изменённых файлов: 9 добавлений и 0 удалений

Просмотреть файл

@ -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(

Просмотреть файл

@ -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);

Просмотреть файл

@ -38,3 +38,7 @@ using namespace N2::Inner;
extern "C" {
void ext();
}
inline namespace N4 {
struct MemberOfN4;
}

Просмотреть файл

@ -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;