diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/align1.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/align1.C | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/align1.C b/gcc/testsuite/g++.old-deja/g++.mike/align1.C new file mode 100644 index 000000000..027a908bb --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.mike/align1.C @@ -0,0 +1,57 @@ +// { 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(); +} |