aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2012-03-26 16:39:11 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2012-03-26 16:39:11 +0000
commitbbee58432c0cd8be05328375607a631970c674a4 (patch)
treec3f613b6ee85a62bf5f20361a7f272d9e9f410fc /gcc/expr.c
parentffe5d70808b73597acd5b7a249aedefaf2ce8863 (diff)
downloadgcc-bbee58432c0cd8be05328375607a631970c674a4.zip
gcc-bbee58432c0cd8be05328375607a631970c674a4.tar.gz
gcc-bbee58432c0cd8be05328375607a631970c674a4.tar.bz2
toplev.c (check_global_declaration_1): Do not call assemble_external.
* toplev.c (check_global_declaration_1): Do not call assemble_external. * expr.c (emit_block_move_libcall_fn): Likewise. (clear_storage_libcall_fn): Likewise. (expand_expr_addr_expr_1): Likewise. (expand_expr_real_1): Likewise. * calls.c (rtx_for_function_call): Likewise. From-SVN: r185813
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index f509bf0..c63343e 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1375,8 +1375,7 @@ emit_block_move_via_libcall (rtx dst, rtx src, rtx size, bool tailcall)
}
/* A subroutine of emit_block_move_via_libcall. Create the tree node
- for the function we use for block copies. The first time FOR_CALL
- is true, we call assemble_external. */
+ for the function we use for block copies. */
static GTY(()) tree block_move_fn;
@@ -1419,7 +1418,6 @@ emit_block_move_libcall_fn (int for_call)
{
emitted_extern = true;
make_decl_rtl (block_move_fn);
- assemble_external (block_move_fn);
}
return block_move_fn;
@@ -2747,8 +2745,7 @@ set_storage_via_libcall (rtx object, rtx size, rtx val, bool tailcall)
}
/* A subroutine of set_storage_via_libcall. Create the tree node
- for the function we use for block clears. The first time FOR_CALL
- is true, we call assemble_external. */
+ for the function we use for block clears. */
tree block_clear_fn;
@@ -2791,7 +2788,6 @@ clear_storage_libcall_fn (int for_call)
{
emitted_extern = true;
make_decl_rtl (block_clear_fn);
- assemble_external (block_clear_fn);
}
return block_clear_fn;
@@ -7413,11 +7409,8 @@ expand_expr_addr_expr_1 (tree exp, rtx target, enum machine_mode tmode,
result = XEXP (result, 0);
/* ??? Is this needed anymore? */
- if (DECL_P (exp) && !TREE_USED (exp) == 0)
- {
- assemble_external (exp);
- TREE_USED (exp) = 1;
- }
+ if (DECL_P (exp))
+ TREE_USED (exp) = 1;
if (modifier != EXPAND_INITIALIZER
&& modifier != EXPAND_CONST_ADDRESS
@@ -9012,11 +9005,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
/* Ensure variable marked as used even if it doesn't go through
a parser. If it hasn't be used yet, write out an external
definition. */
- if (! TREE_USED (exp))
- {
- assemble_external (exp);
- TREE_USED (exp) = 1;
- }
+ TREE_USED (exp) = 1;
/* Show we haven't gotten RTL for this yet. */
temp = 0;