> On Dec 10, 2015, at 4:11 PM, Nelson, Clark <[email protected]> wrote: > > It has come to my attention that GCC and clang generate incompatible code > for passing an argument of an empty class type. > > clang seems to completely ignore arguments and parameters of empty class > type -- which seems to make a certain amount of sense. > > OTOH, as far as I understand it, GCC effectively treats an empty class > equivalently to a class containing a single member with some character > type -- which also seems pretty reasonable. > > Should the C++ ABI come down on one side or the other of this question? > > This is really the sort of question a psABI should settle. But of course > the C language doesn't actually support a structure with no members, so > it's not too surprising if a psABI doesn't nail down what should happen > for this.
It’s valid as a C extension in GCC. If there are platforms where we use a different rule from GCC, we should come to some understanding with them. Because of the GCC extension, C++ can’t really use different rules from C. John. > > -- > Clark Nelson Chair, PL22.16 (ANSI C++ standard committee) > Intel Corporation Chair, SG10 (C++ SG for feature-testing) > [email protected] Chair, CPLEX (C SG for parallel language extensions) > _______________________________________________ > cxx-abi-dev mailing list > [email protected] > http://sourcerytools.com/cgi-bin/mailman/listinfo/cxx-abi-dev _______________________________________________ cxx-abi-dev mailing list [email protected] http://sourcerytools.com/cgi-bin/mailman/listinfo/cxx-abi-dev
