This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: C++ PATCH: Empty classes, yet again
On Mon, Oct 21, 2002 at 11:06:42PM +0200, Krister Walfridsson wrote:
>
> > 2002-10-14 Mark Mitchell <mark@codesourcery.com>
> >
> > * class.c (check_field_decls): Remove empty_p parameter. Instead,
> > clear CLASSTYPE_EMPTY_P.
> > (build_base_field): Likewise.
> > (build_base_fields): Likewise.
> > (check_bases_and_members): Likewise.
> > (create_vtbl_ptr): Likewise.
> > (layout_class_type): Likewise. Ensure that empty classes have
> > size zero when used as base classes in the 3.2 ABI.
> > (finish_struct_1): Initialize CLASSTYPE_EMPTY_P and
> > CLASSTYPE_NEARLY_EMPTY_P. Adjust calls to avoid passing empty_p
> > parameter.
> > (is_empty_class): Correct definition when using post-3.2 ABI.
> > * cp-tree.h (lang_type_class): Add empty_p.
> > (CLASSTYPE_EMPTY_P): New macro.
>
> FWIW. This change introduces a regression for arm-unknown-netbsd1.5Y:
>
> FAIL: g++.abi/vbase8-9.C Execution test
>
> (the test dumps core with a segmentation fault when run.)
I suspect it is also the same thing that causes the unaligned access
faults on alpha-netbsd. I posted a message about this to:
http://gcc.gnu.org/ml/gcc/2002-10/msg01045.html
...but haven't yet had the time to follow-up on it. Janis later
replied to my message indicating a similar problem on ia64-linux-gnu:
http://gcc.gnu.org/ml/gcc/2002-10/msg01165.html
--
-- Jason R. Thorpe <thorpej@wasabisystems.com>