aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-03-20 14:51:39 -0800
committerRichard Henderson <rth@gcc.gnu.org>2003-03-20 14:51:39 -0800
commit05d482b95f2382ff2b4eb2450f0b447aa09662cd (patch)
tree8270148c31883c90ace6f1bf18cc74ebe3ccd98e
parent86a36a0ecd4bc66a338bbac2f62a7757ed1a4fd4 (diff)
downloadgcc-05d482b95f2382ff2b4eb2450f0b447aa09662cd.zip
gcc-05d482b95f2382ff2b4eb2450f0b447aa09662cd.tar.gz
gcc-05d482b95f2382ff2b4eb2450f0b447aa09662cd.tar.bz2
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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/explow.c2
2 files changed, 7 insertions, 1 deletions
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 <rth@redhat.com>
+
+ PR middle-end/6348
+ * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
+ different from word_mode.
+
2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
* 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));
}