C++ PATCH for c++/78948 (instantiation from discarded statement)

Nathan Sidwell nathan@acm.org
Mon Jan 9 13:49:00 GMT 2017


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)

nathan

-- 
Nathan Sidwell



More information about the Gcc-patches mailing list