On Sat, Dec 12, 2015 at 09:51:23AM -0500, Jason Merrill wrote:
> On 12/11/2015 06:52 PM, H.J. Lu wrote:
> >On Thu, Dec 10, 2015 at 3:24 AM, Richard Biener
> ><richard.guent...@gmail.com> wrote:
> >>On Wed, Dec 9, 2015 at 10:31 PM, Markus Trippelsdorf
> >><mar...@trippelsdorf.de> wrote:
> >>>On 2015.12.09 at 10:53 -0800, H.J. Lu wrote:
> >>>>
> >>>>Empty C++ class is a corner case which isn't covered in psABI nor C++ ABI.
> >>>>There is no mention of "empty record" in GCC documentation.  But there are
> >>>>plenty of "empty class" in gcc/cp.  This change affects all targets.  C++ 
> >>>>ABI
> >>>>should specify how it should be passed.
> >>>
> >>>There is a C++ ABI mailinglist, where you could discuss this issue:
> >>>http://sourcerytools.com/cgi-bin/mailman/listinfo/cxx-abi-dev
> >>
> >>Yep.  As long as the ABI doesn't state how to pass those I'd rather _not_ 
> >>change
> >>GCCs way.
> >
> >It is agreed that GCC is wrong on this:
> >
> >http://sourcerytools.com/pipermail/cxx-abi-dev/2015-December/002876.html
> 
> Yes, I think this is just a (nasty) bug on some GCC targets.

Well, the argument in that thread is weird, because C and C++ empty structs
are different, so it isn't surprising they are passed differently.
C++ makes those sizeof == 1, while C has them sizeof == 0.
So I rather think clang should change rather than GCC.

        Jakub

Reply via email to