aboutsummaryrefslogtreecommitdiff
path: root/lib/AST/DeclSerialization.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/AST/DeclSerialization.cpp')
-rw-r--r--lib/AST/DeclSerialization.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/AST/DeclSerialization.cpp b/lib/AST/DeclSerialization.cpp
index acaced2468..3ffcc49c36 100644
--- a/lib/AST/DeclSerialization.cpp
+++ b/lib/AST/DeclSerialization.cpp
@@ -36,6 +36,7 @@ void Decl::Emit(Serializer& S) const {
S.EmitBool(InvalidDecl);
// FIXME: HasAttrs?
S.EmitBool(Implicit);
+ S.EmitInt(IdentifierNamespace);
S.EmitInt(Access);
S.EmitPtr(cast_or_null<Decl>(getDeclContext())); // From Decl.
S.EmitPtr(cast_or_null<Decl>(getLexicalDeclContext())); // From Decl.
@@ -122,6 +123,7 @@ Decl* Decl::Create(Deserializer& D, ASTContext& C) {
Dcl->InvalidDecl = D.ReadBool();
// FIXME: HasAttrs?
Dcl->Implicit = D.ReadBool();
+ Dcl->IdentifierNamespace = D.ReadInt();
Dcl->Access = D.ReadInt();
assert(Dcl->DeclCtx.getOpaqueValue() == 0);
@@ -274,11 +276,21 @@ void ValueDecl::ReadInRec(Deserializer& D, ASTContext& C) {
void VarDecl::EmitInRec(Serializer& S) const {
ValueDecl::EmitInRec(S);
S.EmitInt(getStorageClass()); // From VarDecl.
+ S.EmitBool(ThreadSpecified);
+ S.EmitBool(HasCXXDirectInit);
+ S.EmitBool(DeclaredInCondition);
+ S.EmitPtr(PreviousDeclaration);
+ S.Emit(TypeSpecStartLoc);
}
void VarDecl::ReadInRec(Deserializer& D, ASTContext& C) {
ValueDecl::ReadInRec(D, C);
SClass = static_cast<StorageClass>(D.ReadInt()); // From VarDecl.
+ ThreadSpecified = D.ReadBool();
+ HasCXXDirectInit = D.ReadBool();
+ DeclaredInCondition = D.ReadBool();
+ D.ReadPtr(PreviousDeclaration);
+ TypeSpecStartLoc = SourceLocation::ReadVal(D);
}
void VarDecl::EmitOutRec(Serializer& S) const {