http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61082

--- Comment #12 from David Greene <greened at obbligato dot org> ---
(In reply to H.J. Lu from comment #11)

> That is correct and Y is classified as INTEGER with 2 fields:
> NO_CLASS, INTEGER.  The question is how NO_CLASS should be handled.

Since the "Returning of Values" section of 3.2.3 doesn't talk about aggregate
members, I assume that the entire type classification (INTEGER in this case)
should be used.  That is the interpretation Intel seems to use.

The example given does talk about members so I can see how either
interpretation could be considered correct.

g++ appears to pass such an object in RDI only so it is at least consistent in
its pass/return processing.

Strangely, icc appears to pass Y in memory!

Reply via email to