foo->bar = make_a_bar(); foo->bar->none = value;being rendered as: call make_a_bar foo->bar->none = value foo->bar = <result of make_a_bar()>You are not describing a C compiler.Um, I'm describing what gcc did?
I think he meant x = make_a_bar (); x->none = value; foo->bar = x;I don't know if this is a valid optimization, but I wouldn't be surprised if it is.
Palo