On 09/01/17 13:49, Nathan Sidwell wrote:
On 01/08/2017 01:34 AM, Jason Merrill wrote:
P0292 defines the notion of "discarded statement" which is almost but
not quite the same as "unevaluated operand". This PR shows a case
where we need to be able to tell that we're in a discarded statement
at a lower level than in the parser, so this patch moves the
information about being in a discarded statement from the parser into
saved_scope. I've also added a test for a couple of cases that
demonstrate why we can't just use cp_unevaluated_context.
+ if constexpr(sizeof(long long) == sizeof(char*))
+ ;
+ else
+ sizeof_mismatch<sizeof(long long)>();
This is going to behave differently on 32 and 64 bit HW. Is that intentional?
(If so, a comment would be nice)
Indeed I see this test failing when testing aarch64 with -mabi=ilp32.
Kyrill
nathan