Skip to content

Commit

Permalink
Bug #2049: allow virtual inheritance from multiple PUPable base classes
Browse files Browse the repository at this point in the history
Change-Id: I7ed18e50c1abf386a7e414762e5545dfc0c61b8a
  • Loading branch information
stwhite91 committed Jan 28, 2019
1 parent d994dfc commit 7e32305
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/util/pup.h
Original file line number Diff line number Diff line change
Expand Up @@ -719,14 +719,14 @@ class able {
#define PUPable_operator_inside(className)\
friend inline void operator|(PUP::er &p,className &a) {a.pup(p);}\
friend inline void operator|(PUP::er &p,className* &a) {\
PUP::able *pa=a; p(&pa); a=(className *)pa;\
PUP::able *pa=a; p(&pa); a=dynamic_cast<className *>(pa);\
}

// Macros to be used outside a class body.
#define PUPable_operator_outside(className)\
inline void operator|(PUP::er &p,className &a) {a.pup(p);}\
inline void operator|(PUP::er &p,className* &a) {\
PUP::able *pa=a; p(&pa); a=(className *)pa;\
PUP::able *pa=a; p(&pa); a=dynamic_cast<className *>(pa);\
}

//Declarations to include in a PUP::able's body.
Expand Down

0 comments on commit 7e32305

Please sign in to comment.