Semantics of MODIFY_EXPR with CONSTRUCTOR rhs
Richard Kenner
kenner@vlsi1.ultra.nyu.edu
Mon Aug 2 03:17:00 GMT 2004
Suppose we have this in .t03.original:
r = {.x=5, .y=8};
r = {.x=1, .y=r.x};
Is the second statement valid? If so, which r.x is it meant to access?
We gimplify as:
r.x = 5;
r.y = 8;
r.x = 1;
T.0 = r.x;
r.y = T.0;
T.0 = r.x;
This has it accessing the value partially stored by the second statement.
But the intent was for it to be the r.x stored by the *first* assignment.
What's supposed to be happening here?
(For the record, this is from ACATS test c52010a.adb.)
More information about the Gcc
mailing list