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