On Mon, Feb 22, 2016 at 4:50 AM, Michael Matz <m...@suse.de> wrote: > Hi, > > On Sat, 20 Feb 2016, Richard Smith wrote: > >> > An empty type is a type where it and all of its subobjects >> > (recursively) are of class, structure, union, or array type. >> > >> > doesn't cover "trivially-copyable". >> >> That's correct. Whether a type is trivially copyable is unrelated to >> whether it is empty. > > I would still feel more comfortable to include the restriction to > trivially copyable types, not in the part of definition of empty type, of > course, but as part of the restrictions of when a type can be passed in no > registers. Basically to clarify the intent in the psABI if there's any > doubt. I.e. like so: > > --- > 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 that's > trivially copyable. > --- > > (With possibly a self-sufficient definition of trivially copyable, that's > language agnostic) >
Do you have an example in which an empty type defined above isn't "trivially copyable"? -- H.J. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits