aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.mike/align1.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/align1.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/align1.C56
1 files changed, 56 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 00000000000..e26d398e0a9
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.mike/align1.C
@@ -0,0 +1,56 @@
+// 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:
+};
+
+main () {
+ void *vp = new interproc_jump_edge();
+}