Revert "Drop requirement for user code to call CBase_foo::pup(p)"
[charm.git] / src / ck-core / charm++.h
index b2e381d69fa8d9740946b0088114a1547025c818..f3ff6d784015f69bc8734a706097e80dfbb5a6a1 100644 (file)
@@ -273,7 +273,6 @@ class Chare {
     Chare(CkMigrateMessage *m);
     Chare();
     virtual ~Chare(); //<- needed for *any* child to have a virtual destructor
-    virtual void base_pup(PUP::er &p) { }
     virtual void pup(PUP::er &p);//<- pack/unpack routine
     inline const CkChareID &ckGetChareID(void) const {return thishandle;}
     inline void CkGetChareID(CkChareID *dest) const {*dest=thishandle;}
@@ -351,11 +350,10 @@ public:
 
        CBaseT1(void) :Parent()  { thisProxy=this; }
        CBaseT1(CkMigrateMessage *m) :Parent(m) { thisProxy=this; }
-        void base_pup(PUP::er &p) {
+       void pup(PUP::er &p) {
                Parent::pup(p);
                p|thisProxy;
        }
-        void pup(PUP::er &p) { }
 };
 
 /*Templated version of above for multiple (at least duplicate) inheritance:*/
@@ -368,12 +366,11 @@ public:
                { thisProxy = (Parent1 *)this; }
        CBaseT2(CkMigrateMessage *m) :Parent1(m), Parent2(m)
                { thisProxy = (Parent1 *)this; } 
-        void base_pup(PUP::er &p) {
+       void pup(PUP::er &p) {
                Parent1::pup(p);
                Parent2::pup(p);
                p|thisProxy;
        }
-        void pup(PUP::er &p) { }
 
 //These overloads are needed to prevent ambiguity for multiple inheritance:
        inline const CkChareID &ckGetChareID(void) const
@@ -389,11 +386,10 @@ public:
   BASEN(n)() : base(), PARENTN(n)() {}                               \
   BASEN(n)(CkMigrateMessage *m)                                       \
          : base(m), PARENTN(n)(m) {}                                 \
-  void base_pup(PUP::er &p) {                                         \
+  void pup(PUP::er &p) {                                              \
     base::pup(p);                                                     \
     PARENTN(n)::pup(p);                                               \
   }                                                                   \
-  void pup(PUP::er &p) { }                                            \
   static int isIrreducible() {                                        \
     return (base::isIrreducible() && PARENTN(n)::isIrreducible());    \
   }