This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/12558] structure not returned in xmm0 & xmm1
- From: "nathan at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Oct 2003 08:52:55 -0000
- Subject: [Bug c++/12558] structure not returned in xmm0 & xmm1
- References: <20031009214718.12558.kong@ece.ucdavis.edu>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12558
nathan at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
------- Additional Comments From nathan at gcc dot gnu dot org 2003-10-10 08:52 -------
not a bug.
types with a non-trivial copy ctor, (or dtor) are returned via a pointer to
storage.
from the ABI
3.1.4 Return Values
In general, C++ return values are handled just like C return values. This
includes class type results returned in registers. However, if the return value
type has a non-trivial copy constructor or destructor, the caller allocates
space for a temporary, and passes a pointer to the temporary as an implicit
first parameter preceding both the this parameter and user parameters. The
callee constructs the return value into this temporary.