summaryrefslogtreecommitdiffstats
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
commit136a37f1eb0897b74163105b783848512c76ce29 (patch)
treecad5a40b61b53ba968ea81f0a934d4d8cd2585cf
parenta5b4965c0e309deb6b97f830ea728fa07aa99a08 (diff)
downloadbcm5719-llvm-136a37f1eb0897b74163105b783848512c76ce29.tar.gz
bcm5719-llvm-136a37f1eb0897b74163105b783848512c76ce29.zip
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. llvm-svn: 44989
-rw-r--r--clang/AST/DeclSerialization.cpp12
-rw-r--r--clang/include/clang/AST/Decl.h3
2 files changed, 10 insertions, 5 deletions
diff --git a/clang/AST/DeclSerialization.cpp b/clang/AST/DeclSerialization.cpp
index f2ed75b4b56..cc29210f4fe 100644
--- a/clang/AST/DeclSerialization.cpp
+++ b/clang/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/clang/include/clang/AST/Decl.h b/clang/include/clang/AST/Decl.h
index 8fd68295fbc..efa79d5372f 100644
--- a/clang/include/clang/AST/Decl.h
+++ b/clang/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);
OpenPOWER on IntegriCloud