RFC: Update Intel386, x86-64 and IA MCU psABIs for passing/returning empty struct

H.J. Lu via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 18 14:46:39 PST 2016


On Thu, Feb 18, 2016 at 6:35 AM, Michael Matz <matz at suse.de> wrote:
> Hi,
>
> On Tue, 16 Feb 2016, H.J. Lu wrote:
>
>> Here is the new definition:
>>
>> An empty type is a type where it and all of its subobjects (recursively)
>> are of class, structure, union, or array type.  No memory slot nor
>> register should be used to pass or return an object of empty type.
>
> The trivially copyable is gone again.  Why is it not necessary?
>

I think we want to cover

struct
{
  unsigned int : 8;
};

but not

struct
{
  unsigned int  i :8;
};

" trivially copyable" applies to both.

-- 
H.J.


More information about the cfe-commits mailing list