On 5/29/19 1:12 PM, Jakub Jelinek wrote:
On Wed, May 29, 2019 at 12:31:52PM -0400, Jason Merrill wrote:
On 5/24/19 4:21 AM, Jakub Jelinek wrote:
The second patch fixes that by special casing void type MODIFY_EXPR, I
believe if we have void type MODIFY_EXPR, then it can't be an lvalue.

Any expression with void type is a prvalue, so let's not limit this to
MODIFY_EXPR.

So like this?  So far no regressions in make check-c++-all, ok if it
passes full bootstrap/regtest?

OK.

The fact that cv void type expressions are prvalues has been clarified
only recently in
https://github.com/cplusplus/draft/commit/27d19661fbb0a5424f72330724d9809618efbb8b
it seems, is it true that they have been prvalues already in C++11 and
non-lvalues in C++98?

Even if it wasn't stated clearly, it's never been possible to form an lvalue of void type.

Jason

Reply via email to