1 $DragonFly: src/gnu/usr.bin/cc34/cc_prep/patches/calls.c.patch,v 1.3 2004/12/21 13:10:48 joerg Exp $
3 ===================================================================
4 RCS file: /home/joerg/wd/repository/dragonflybsd/src/contrib/gcc-3.4/gcc/calls.c,v
5 retrieving revision 1.2
7 --- calls.c 20 Dec 2004 19:23:23 -0000 1.2
8 +++ calls.c 20 Dec 2004 20:48:09 -0000
11 /* For variable-sized objects, we must be called with a target
12 specified. If we were to allocate space on the stack here,
13 - we would have no way of knowing when to free it. */
14 - rtx d = assign_temp (TREE_TYPE (exp), 1, 1, 1);
15 + we would have no way of knowing when to free it.
17 + This is the structure of a function return object and it isn't
18 + a character array for the stack protection, so it is
19 + marked using the assignment of the KEEP argument to 5. */
20 + rtx d = assign_temp (TREE_TYPE (exp), 5, 1, 1);
22 mark_temp_addr_taken (d);
23 structure_value_addr = XEXP (d, 0);