This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/61082] [x86-64 Itanium ABI] g++ uses wrong return location for class with head padding
- From: "greened at obbligato dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 07 May 2014 17:14:20 +0000
- Subject: [Bug c++/61082] [x86-64 Itanium ABI] g++ uses wrong return location for class with head padding
- Auto-submitted: auto-generated
- References: <bug-61082-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61082
--- Comment #10 from David Greene <greened at obbligato dot org> ---
(In reply to H.J. Lu from comment #9)
> Y is returned as {NO_CLASS, INTEGER} in register. psABI doesn't
> explicitly say how NO_CLASS should be handled in this case. GCC
> simply skips NO_CLASS when assigning it to a register.
Except section 3.2.3 when talking about classifying aggregates says under point
4 (b):
If one of the classes is NO_CLASS, the resulting class is the other class.
So Y should be classified as INTEGER and returned in (RAX, RDX).