From 72a50ab01331e60cd2c8257d65fbda007ccead72 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Tue, 11 Jul 2000 17:31:21 +0000 Subject: [PATCH] class.c (layout_class_type): Add pointers to virtual bases after base classes under the old ABI. * class.c (layout_class_type): Add pointers to virtual bases after base classes under the old ABI. From-SVN: r34961 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/class.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0fe79fea7ba..19419735cc9 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2000-07-11 Mark Mitchell + + * class.c (layout_class_type): Add pointers to virtual bases after + base classes under the old ABI. + 2000-07-10 Benjamin Chelf * semantics.c (finish_for_stmt): Remove call to emit_line_note. diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 2ec325ba299..94da8a02f07 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -4795,11 +4795,11 @@ layout_class_type (t, empty_p, vfuns_p, place_field (rli, vptr); } + /* Build FIELD_DECLs for all of the non-virtual base-types. */ + v = build_base_fields (rli, empty_p); /* Add pointers to all of our virtual base-classes. */ TYPE_FIELDS (t) = chainon (build_vbase_pointer_fields (rli, empty_p), TYPE_FIELDS (t)); - /* Build FIELD_DECLs for all of the non-virtual base-types. */ - v = build_base_fields (rli, empty_p); /* CLASSTYPE_INLINE_FRIENDS is really TYPE_NONCOPIED_PARTS. Thus, we have to save this before we start modifying