1 $DragonFly: src/gnu/usr.bin/cc34/cc_prep/patches/calls.c.patch,v 1.2 2004/06/20 00:10:52 joerg Exp $
3 diff -u ../gcc.orig/calls.c calls.c
4 --- ../gcc.orig/calls.c 2004-06-19 22:27:09.000000000 +0200
5 +++ calls.c 2004-06-20 01:16:04.000000000 +0200
8 /* For variable-sized objects, we must be called with a target
9 specified. If we were to allocate space on the stack here,
10 - we would have no way of knowing when to free it. */
11 - rtx d = assign_temp (TREE_TYPE (exp), 1, 1, 1);
12 + we would have no way of knowing when to free it.
14 + This is the structure of a function return object and it isn't
15 + a character array for the stack protection, so it is
16 + marked using the assignment of the KEEP argument to 5. */
17 + rtx d = assign_temp (TREE_TYPE (exp), 5, 1, 1);
19 mark_temp_addr_taken (d);
20 structure_value_addr = XEXP (d, 0);