diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-11 04:16:07 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-11 04:16:07 +0000 |
commit | afcf285eb542beb5277cd17c3f0ef4d3b525bb10 (patch) | |
tree | e57fc8a325147e3d2f9c065e1b28d63cdcb6c70a /gcc/stmt.c | |
parent | 3112fa0515c4d2cf9741bad078a54f0fee4b6d8d (diff) | |
download | ppe42-gcc-afcf285eb542beb5277cd17c3f0ef4d3b525bb10.tar.gz ppe42-gcc-afcf285eb542beb5277cd17c3f0ef4d3b525bb10.zip |
* builtins.def (BUILT_IN_STACK_ALLOC): Remove.
* builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
* dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
(add_location_or_const_value_attribute): ... not here. Use
loc_descriptor_from_tree if possible.
(loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
Simplify address handling. Handle DECL_VALUE_EXPR. Handle register
values specially.
(loc_descriptor_from_tree): New. Update callers.
* expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
* gimplify.c (gimplify_decl_expr): Lower variable sized types to
pointer plus dereference. Set DECL_VALUE_EXPR. Set save_stack.
(gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
and BUILT_IN_STACK_RESTORE.
(gimplify_expr): Lower DECL_VALUE_EXPR decls.
* stmt.c (expand_stack_alloc): Remove.
* tree-mudflap.c (mx_register_decls): Don't look for
BUILT_IN_STACK_ALLOC.
* tree-nested.c (convert_local_reference): Likewise.
* tree.h (DECL_VALUE_EXPR): New.
ada/
* utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
add __builtin_alloca.
fortran/
* f95-lang.c (gfc_init_builtin_functions): Remove
__builtin_stack_alloc, add __builtin_alloca.
* trans-array.c (gfc_trans_auto_array_allocation): Use DECL_EXPR.
* trans-decl.c (gfc_trans_auto_character_variable): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85794 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r-- | gcc/stmt.c | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c index 8164c2d269f..86d4fe98dd3 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -2042,40 +2042,6 @@ expand_decl (tree decl) } } -/* Emit code to allocate T_SIZE bytes of dynamic stack space for ALLOC. */ -void -expand_stack_alloc (tree alloc, tree t_size) -{ - rtx address, dest, size; - tree var, type; - - if (TREE_CODE (alloc) != ADDR_EXPR) - abort (); - var = TREE_OPERAND (alloc, 0); - if (TREE_CODE (var) != VAR_DECL) - abort (); - - type = TREE_TYPE (var); - - /* Compute the variable's size, in bytes. */ - size = expand_expr (t_size, NULL_RTX, VOIDmode, 0); - free_temp_slots (); - - /* Allocate space on the stack for the variable. */ - address = XEXP (DECL_RTL (var), 0); - dest = allocate_dynamic_stack_space (size, address, TYPE_ALIGN (type)); - if (dest != address) - emit_move_insn (address, dest); - - /* Indicate the alignment we actually gave this variable. */ -#ifdef STACK_BOUNDARY - DECL_ALIGN (var) = STACK_BOUNDARY; -#else - DECL_ALIGN (var) = BIGGEST_ALIGNMENT; -#endif - DECL_USER_ALIGN (var) = 0; -} - /* Emit code to save the current value of stack. */ rtx expand_stack_save (void) |