diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1997-07-17 11:26:30 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1997-07-17 11:26:30 -0400 |
commit | 5e4ef18a2b522c476698239fe541ddaff1d6d6b4 (patch) | |
tree | 0a327e4b46f964b38609955822b93f7d2b34bb5a | |
parent | 76e0d2113de257d2505bba2cb82f9117ca74034c (diff) | |
download | gcc-5e4ef18a2b522c476698239fe541ddaff1d6d6b4.zip gcc-5e4ef18a2b522c476698239fe541ddaff1d6d6b4.tar.gz gcc-5e4ef18a2b522c476698239fe541ddaff1d6d6b4.tar.bz2 |
(expand_decl): If stack checking, use alloca for large vars.
From-SVN: r14472
-rw-r--r-- | gcc/stmt.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -3573,7 +3573,11 @@ expand_decl (decl) / BITS_PER_UNIT)); } - else if (TREE_CODE (DECL_SIZE (decl)) == INTEGER_CST) + else if (TREE_CODE (DECL_SIZE (decl)) == INTEGER_CST + && ! (flag_stack_check && ! STACK_CHECK_BUILTIN + && (TREE_INT_CST_HIGH (DECL_SIZE (decl)) != 0 + || (TREE_INT_CST_LOW (DECL_SIZE (decl)) + > STACK_CHECK_MAX_VAR_SIZE * BITS_PER_UNIT)))) { /* Variable of fixed size that goes on the stack. */ rtx oldaddr = 0; |