diff options
author | Michael Matz <matz@suse.de> | 2012-05-29 14:41:53 +0000 |
---|---|---|
committer | Michael Matz <matz@gcc.gnu.org> | 2012-05-29 14:41:53 +0000 |
commit | ca5f4331230013bba0a5e4d1c4340158b2991b65 (patch) | |
tree | 5534a3c29342dd48c087ead51be0face86e90762 /gcc/expr.c | |
parent | 508ef0c675b409e2c92c8078a2dc5043da88db1b (diff) | |
download | gcc-ca5f4331230013bba0a5e4d1c4340158b2991b65.zip gcc-ca5f4331230013bba0a5e4d1c4340158b2991b65.tar.gz gcc-ca5f4331230013bba0a5e4d1c4340158b2991b65.tar.bz2 |
expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocate a kept temp.
* expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocate
a kept temp.
(expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Make unreachable.
* gimple-fold.c (canonicalize_constructor_val): Canonicalize
COMPOUND_LITERAL_EXPR.
* function.c (expand_function_start): Don't call expand_decl,
instead assert that we have RTL assigned.
* tree-ssa-live.c (remove_unused_locals): Clear
nonlocal_goto_save_area if its backing variable is removed.
* stmt.c (expand_asm_operands): Remove handling of non-lvalues
as mem inputs.
(expand_decl): Assert that this does nothing.
* calls.c (expand_call): Don't call mark_temp_addr_taken.
* c-tree.h (c_expand_decl): Remove prototype.
c-family/
* c-common.h (c_expand_decl): Remove prototype.
ada/
* gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl.
From-SVN: r187962
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -9922,7 +9922,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, tree nt = build_qualified_type (TREE_TYPE (tem), (TYPE_QUALS (TREE_TYPE (tem)) | TYPE_QUAL_CONST)); - memloc = assign_temp (nt, 1, 1, 1); + memloc = assign_temp (nt, 0, 1, 1); emit_move_insn (memloc, op0); op0 = memloc; mem_attrs_from_type = true; @@ -10425,6 +10425,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, case POSTDECREMENT_EXPR: case LOOP_EXPR: case EXIT_EXPR: + case COMPOUND_LITERAL_EXPR: /* Lowered by gimplify.c. */ gcc_unreachable (); @@ -10439,7 +10440,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, return expand_expr_real (treeop0, original_target, tmode, modifier, alt_rtl); - case COMPOUND_LITERAL_EXPR: +#if 0 { /* Initialize the anonymous variable declared in the compound literal, then return the variable. */ @@ -10459,6 +10460,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, return expand_expr_real (decl, original_target, tmode, modifier, alt_rtl); } +#endif default: return expand_expr_real_2 (&ops, target, tmode, modifier); |