Next: , Previous: Compound Expressions, Up: Operands  12.5.2
Compound Lvalues  Currently compound lvalues involving array and
structure field references are not broken down; an expression
like a.b[2] = 42 is not reduced any further (though complex
array subscripts are). This restriction is a workaround for
limitations in later optimizers; if we were to convert this to
T1 = &a.b;        T1[2] = 42;  alias analysis would not remember
that the reference to T1[2] came by way of a.b, so it would
think that the assignment could alias another member of a; this
broke struct-alias-1.c. Future optimizer improvements may make
this limitation unnecessary.