From 05d482b95f2382ff2b4eb2450f0b447aa09662cd Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 20 Mar 2003 14:51:39 -0800 Subject: [PATCH] re PR middle-end/6348 (internal error in allocate_dynamic_stack_space with STACK_SIZE_MODE non-default) PR middle-end/6348 * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE different from word_mode. From-SVN: r64628 --- gcc/ChangeLog | 6 ++++++ gcc/explow.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a8f7577..ce5f6b8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-03-20 Richard Henderson + + PR middle-end/6348 + * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE + different from word_mode. + 2003-03-20 Kazu Hirata * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the diff --git a/gcc/explow.c b/gcc/explow.c index fb13368..50556e8 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -1365,7 +1365,7 @@ allocate_dynamic_stack_space (size, target, known_align) pred = insn_data[(int) CODE_FOR_allocate_stack].operand[1].predicate; if (pred && ! ((*pred) (size, mode))) - size = copy_to_mode_reg (mode, size); + size = copy_to_mode_reg (mode, convert_to_mode (mode, size, 1)); emit_insn (gen_allocate_stack (target, size)); } -- 2.7.4