diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2010-07-13 18:46:25 +0000 |
---|---|---|
committer | Nathan Froyd <froydnj@gcc.gnu.org> | 2010-07-13 18:46:25 +0000 |
commit | 3bb06db415181f6027ac0f99520ced47069d6499 (patch) | |
tree | 435ae90e4b6eed76766475f3f0c7083b8c6f6502 /gcc/varasm.c | |
parent | 3f34855a08b426c05d3c462fd4563c649ad15476 (diff) | |
download | gcc-3bb06db415181f6027ac0f99520ced47069d6499.zip gcc-3bb06db415181f6027ac0f99520ced47069d6499.tar.gz gcc-3bb06db415181f6027ac0f99520ced47069d6499.tar.bz2 |
tree.h (build_function_call_expr): Delete.
gcc/
* tree.h (build_function_call_expr): Delete.
(build_call_expr_loc_array): New function.
(build_call_expr_loc_vec): New function.
* tree-flow.h (struct omp_region): Change type of ws_args field
to a VEC.
* builtins.c (build_function_call_expr): Delete.
(build_call_expr_loc_array): New function.
(build_call_expr_loc): Call it. Use XALLOCAVEC.
(build_call_expr): Likewise.
(build_call_expr_loc_vec): New function.
* cgraphunit.c (build_cdtor): Call build_call_expr instead of
build_function_call_expr.
* expr.c (emutls_var_address): Likewise.
* varasm.c (emutls_common_1): Likewise.
* omp-low.c (expand_omp_atomic_mutex): Likewise.
(expand_omp_taskreg): Adjust for new type of region->ws_args.
(get_ws_args_for): Return a VEC instead of a tree.
(expand_parallel_call): Call build_call_expr_loc_vec instead of
build_function_call_expr.
* stor-layout.c (self_referential_size): Likewise.
gcc/fortran/
* trans-decl.c (build_entry_thunks): Call build_call_expr_loc_vec
instead of build_function_call_expr.
* trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Likewise.
From-SVN: r162148
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index de78bd0..5fad5f0 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -429,7 +429,7 @@ static int emutls_common_1 (void **loc, void *xstmts) { struct tree_map *h = *(struct tree_map **) loc; - tree args, x, *pstmts = (tree *) xstmts; + tree x, *pstmts = (tree *) xstmts; tree word_type_node; if (! DECL_COMMON (h->base.from) @@ -443,17 +443,14 @@ emutls_common_1 (void **loc, void *xstmts) do this and there is an initializer, -fanchor_section loses, because it would be too late to ensure the template is output. */ - x = null_pointer_node; - args = tree_cons (NULL, x, NULL); - x = build_int_cst (word_type_node, DECL_ALIGN_UNIT (h->base.from)); - args = tree_cons (NULL, x, args); - x = fold_convert (word_type_node, DECL_SIZE_UNIT (h->base.from)); - args = tree_cons (NULL, x, args); - x = build_fold_addr_expr (h->to); - args = tree_cons (NULL, x, args); - x = built_in_decls[BUILT_IN_EMUTLS_REGISTER_COMMON]; - x = build_function_call_expr (UNKNOWN_LOCATION, x, args); + x = build_call_expr (x, 4, + build_fold_addr_expr (h->to), + fold_convert (word_type_node, + DECL_SIZE_UNIT (h->base.from)), + build_int_cst (word_type_node, + DECL_ALIGN_UNIT (h->base.from)), + null_pointer_node); append_to_statement_list (x, pstmts); return 1; |