RFC: PATCH to allow passing non-trivial types through ...

Mike Stump mikestump@comcast.net
Mon Aug 11 23:32:00 GMT 2014


On Aug 11, 2014, at 2:02 PM, Jason Merrill <jason@redhat.com> wrote:
> 
> On considering the request, it occurred to me that we could handle variadic arguments of non-trivial types the same way we handle normal value arguments of such types: pass by invisible reference.  So this patch implements that.  Since it's been so long since this was allowed at all, I don't think we need to worry about ABI incompatibility with the 3.1 behavior.

So, it would be nice if the C++ abi document defined how to pass them.  Once it says do it this way, then all people have to do it that way if they want to claim conformance to that doc, and when all do, we then get C++ abi compatibility across compilers (which is nice).  If they want to dictate some other convention, then it sure would be nice to know _before_ we ship an abi incompatible version.  I’m thinking compatibility with clang for example would be nice.  Also, would be nice if the standard mandated it just work, though, that might take another standard to get it in there.



More information about the Gcc-patches mailing list