------- Comment #2 from pinskia at gcc dot gnu dot org 2006-08-24 11:12 ------- This is going to be hard to fix really, unless we make explicate the target's behavior for passing structs (via value or by reference). Right now we get: D.1992 = f () [return slot optimization]; g (D.1992) [tail call];
Which looks ok if we are passing via value but since we need to pass by reference, the middle-end thinks we need a new stack space for it because it does not know that D.1992 is not used after the call to g. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|c |middle-end GCC target triplet|i386-linux-gnu | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28831