aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2007-12-13 06:28:13 +0000
committerTed Kremenek <kremenek@apple.com>2007-12-13 06:28:13 +0000
commit137bd91e8ef5fb407dce910704101bf730b13696 (patch)
treec81958882a0ffad8f47ccbd2f073dc4efcd96867
parent623ec629c8f187c8dccf4419215d06b432994425 (diff)
Updated serialization of ParmVarDecl to serialize out objcDeclQualifier.
Previously this field was serialized out in VarDecl (a parent class), but now the field belongs to ParmVarDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44989 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--AST/DeclSerialization.cpp12
-rw-r--r--include/clang/AST/Decl.h3
2 files changed, 10 insertions, 5 deletions
diff --git a/AST/DeclSerialization.cpp b/AST/DeclSerialization.cpp
index f2ed75b4b5..cc29210f4f 100644
--- a/AST/DeclSerialization.cpp
+++ b/AST/DeclSerialization.cpp
@@ -146,15 +146,11 @@ void ValueDecl::ReadInRec(Deserializer& D) {
void VarDecl::EmitInRec(Serializer& S) const {
ValueDecl::EmitInRec(S);
S.EmitInt(getStorageClass()); // From VarDecl.
- // FIXME: This is now in ParmVarDecl
- // S.EmitInt(getObjcDeclQualifier()); // From VarDecl.
}
void VarDecl::ReadInRec(Deserializer& D) {
ValueDecl::ReadInRec(D);
SClass = static_cast<StorageClass>(D.ReadInt()); // From VarDecl.
- // FIXME: This is now in ParmVarDecl
- // objcDeclQualifier = static_cast<ObjcDeclQualifier>(D.ReadInt()); // VarDecl.
}
//===------------------------------------------------------------===//
@@ -219,12 +215,18 @@ FileVarDecl* FileVarDecl::CreateImpl(Deserializer& D) {
// ParmDecl Serialization.
//===----------------------------------------------------------------------===//
+void ParmVarDecl::EmitImpl(llvm::Serializer& S) const {
+ VarDecl::EmitImpl(S);
+ S.EmitInt(getObjcDeclQualifier()); // From ParmVarDecl.
+}
+
ParmVarDecl* ParmVarDecl::CreateImpl(Deserializer& D) {
ParmVarDecl* decl =
new ParmVarDecl(SourceLocation(),NULL,QualType(),None,NULL);
decl->VarDecl::ReadImpl(D);
-
+ decl->objcDeclQualifier = static_cast<ObjcDeclQualifier>(D.ReadInt());
+
return decl;
}
diff --git a/include/clang/AST/Decl.h b/include/clang/AST/Decl.h
index 8fd68295fb..efa79d5372 100644
--- a/include/clang/AST/Decl.h
+++ b/include/clang/AST/Decl.h
@@ -410,6 +410,9 @@ private:
ObjcDeclQualifier objcDeclQualifier : 6;
protected:
+ /// EmitImpl - Serialize this ParmVarDecl. Called by Decl::Emit.
+ virtual void EmitImpl(llvm::Serializer& S) const;
+
/// CreateImpl - Deserialize a ParmVarDecl. Called by Decl::Create.
static ParmVarDecl* CreateImpl(llvm::Deserializer& D);