// { dg-do run } // Check to make sure we align virtual base classes properly class eel_base { public: }; class markable_eel_base : public eel_base { private: int mark; }; class eel_edge : public markable_eel_base { public: private: int foo; }; class edge : public virtual eel_edge { public: edge() { _weight = 0.0; } private: double _weight; }; class eel_branch_edge : public virtual edge { }; class branch_edge : public eel_branch_edge { }; class eel_interproc_branch_edge : public branch_edge { }; class interproc_edge : public virtual edge { }; class eel_jump_edge : public virtual edge { protected: }; class jump_edge : public eel_jump_edge { public: }; class eel_interproc_jump_edge : public jump_edge { protected: }; class interproc_jump_edge : public eel_interproc_jump_edge, public interproc_edge { public: }; int main () { void *vp = new interproc_jump_edge(); }