diff options
author | Richard Henderson <rth@redhat.com> | 2004-08-10 21:16:07 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-08-10 21:16:07 -0700 |
commit | 1a186ec5586436555a30227776d75c2516fd5911 (patch) | |
tree | e57fc8a325147e3d2f9c065e1b28d63cdcb6c70a /gcc/expr.c | |
parent | 89f1a7022ee2b62d67948797837c2a683bfa4995 (diff) | |
download | gcc-1a186ec5586436555a30227776d75c2516fd5911.zip gcc-1a186ec5586436555a30227776d75c2516fd5911.tar.gz gcc-1a186ec5586436555a30227776d75c2516fd5911.tar.bz2 |
builtins.def (BUILT_IN_STACK_ALLOC): Remove.
* 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.
From-SVN: r85794
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 16 |
1 files changed, 2 insertions, 14 deletions
@@ -6008,20 +6008,8 @@ expand_var (tree var) ? !TREE_ASM_WRITTEN (var) : !DECL_RTL_SET_P (var)) { - if (TREE_CODE (var) == VAR_DECL && DECL_DEFER_OUTPUT (var)) - { - /* Prepare a mem & address for the decl. */ - rtx x; - - if (TREE_STATIC (var)) - abort (); - - x = gen_rtx_MEM (DECL_MODE (var), - gen_reg_rtx (Pmode)); - - set_mem_attributes (x, var, 1); - SET_DECL_RTL (var, x); - } + if (TREE_CODE (var) == VAR_DECL && DECL_VALUE_EXPR (var)) + /* Should be ignored. */; else if (lang_hooks.expand_decl (var)) /* OK. */; else if (TREE_CODE (var) == VAR_DECL && !TREE_STATIC (var)) |