[cxx-abi-dev] Passing non-trivial types through ...
Dennis Handly
dhandly at cup.hp.com
Thu Aug 21 08:01:28 UTC 2014
>From: John McCall <rjmccall at apple.com>
>To me, it sounds like aCC warning about the metaprogramming
>use case, you got a bug about it, and you fixed it, but that you never
>intended to support actually doing this at runtime.
I don't think so. ;-)
It was supported with that test case back in 1996 but with the scary form
of the warning. Supported in that the test did exactly what the warnings
said.
I assume this functionality came from cfront or was built into the Taligent
compiler.
(I'm not sure how this was ported to the EDG compiler if we didn't have
a functional test for it? Or it's too hard to find. :-)
The test case that had the warning had nothing to do with it (since
a decade later) but with placement delete.
>But its your decision, or I should say HPs. If you feel comfortable
>saying that you do not currently support passing non-POD types through
>varargs, and that you consider it undefined behavior,
Undefined by the Standard but implemented with HP's definition of a bitwise
copy.
>then I think the best thing for the ABI is to say that vendors who
>choose to support non-POD varargs must follow Jason's proposal.
>Otherwise, well have to be much more weaselly about it. :)
John.
I don't have any objections but Soumitra might.
It would be nice to point to HP's aC++ and mention another way of doing it
but it's not ideal. :-)
More information about the cxx-abi-dev
mailing list