This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix c++ ABI failures


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]