https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122772
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
The C frontend also rejects this:
t.c: In function ‘main’:
t.c:3:12: error: lvalue required as left operand of assignment
3 | (x.x=0)+=0;
| ^~
I think this is correct, an assignment produces an rvalue, not an lvalue.
int main(){
int a, b;
(a = b) = 0;
}
is invalid.
