On Aug 20, 2014, at 8:45 PM, Dennis Handly <[email protected]> wrote: >> From: John McCall <[email protected]> >> Oh, yes, that’s definitely a language requirement: you can’t outright reject >> this construct if it’s not potentially-evaluated. A lot of template >> metaprogramming tricks rely on overloads like this. But it doesn’t affect >> whether you consider it undefined behavior when it *isn’t* potentially >> evaluated. > > It turns out we fixed the compiler long ago to not warn for sizeof. > So that leaves me with no bug test cases of a customer using it. > But that's only negative evidence.
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. But it’s your decision, or I should say HP’s. If you feel comfortable saying that you do not currently support passing non-POD types through varargs, and that you consider it undefined behavior, 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, we’ll have to be much more weaselly about it. :) John. _______________________________________________ cxx-abi-dev mailing list [email protected] http://sourcerytools.com/cgi-bin/mailman/listinfo/cxx-abi-dev
