Fix c++ ABI failures

Jakub Jelinek jakub@redhat.com
Tue Apr 30 15:23:00 GMT 2002


On Tue, Apr 30, 2002 at 02:54:25PM -0700, David S. Miller wrote:
> 2002-04-30  Mark Mitchell  <mark@codesourcery.com>
> 
> 	* class.c (finish_struct_bits): Only mark TREE_ADDRESSABLE if
> 	TYPE_HAS_TRIVIAL_INIT_REF is false or
> 	TYPE_HAS_NONTRIVIAL_DESTRUCTOR is true.

I think the ChangeLog entry should be marked with `ABI change'
like other ABI changes were.
Still, the question is how should be classes with non-trivial constructors or
destructors passes on sparc64, ia64 and other ABIs which pass records in
registers.
It is clear that such classes have to be passed somewhere in memory, but
some ABIs might want to promote them into registers in some cases
and/or pass them in some particular memory slot as opposed to passing them
by invisible reference.

	Jakub



More information about the Gcc-patches mailing list