aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1997-04-03 12:26:33 -0800
committerJim Wilson <wilson@gcc.gnu.org>1997-04-03 12:26:33 -0800
commit7b05e2866148aaa297270c0fe4bcb823c8daf17b (patch)
tree587bbc31beb7b5ead0143ab3b36647c2d13595f5 /gcc/function.c
parent27c38b75d34217804ee9a25ba6393df09b46fa4b (diff)
downloadgcc-7b05e2866148aaa297270c0fe4bcb823c8daf17b.zip
gcc-7b05e2866148aaa297270c0fe4bcb823c8daf17b.tar.gz
gcc-7b05e2866148aaa297270c0fe4bcb823c8daf17b.tar.bz2
(expand_function_start): Emit queue after expanding
each dynamic parameter type. From-SVN: r13835
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 67594cb..e9e99fe 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -5389,7 +5389,12 @@ expand_function_start (subr, parms_have_cleanups)
/* Evaluate now the sizes of any types declared among the arguments. */
for (tem = nreverse (get_pending_sizes ()); tem; tem = TREE_CHAIN (tem))
- expand_expr (TREE_VALUE (tem), const0_rtx, VOIDmode, 0);
+ {
+ expand_expr (TREE_VALUE (tem), const0_rtx, VOIDmode, 0);
+ /* Flush the queue in case this parameter declaration has
+ side-effects. */
+ emit_queue ();
+ }
/* Make sure there is a line number after the function entry setup code. */
force_next_line_note ();