From: dje Date: Tue, 6 Oct 2015 13:46:34 +0000 (+0000) Subject: PR c/65345 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6e227659adfcd93abb251766610430760bf2ad52;p=thirdparty%2Fgcc.git PR c/65345 * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): Adjust to use create_tmp_var_raw instead of create_tmp_var. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228524 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8ec89e37b013..d8e7a86a89bb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-10-06 David Edelsohn + + PR c/65345 + * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): + Adjust to use create_tmp_var_raw instead of create_tmp_var. + 2015-10-06 Nick Clifton * config/rl78/rl78.c (rl78_rtx_costs): Improve cost estimates for diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index c00d73072c84..e095f0353870 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -36475,8 +36475,8 @@ rs6000_atomic_assign_expand_fenv (tree *hold, tree *clear, tree *update) DECL_EXTERNAL (atomic_update_decl) = 1; } - tree fenv_var = create_tmp_var (double_type_node); - mark_addressable (fenv_var); + tree fenv_var = create_tmp_var_raw (double_type_node); + TREE_ADDRESSABLE (fenv_var) = 1; tree fenv_addr = build1 (ADDR_EXPR, double_ptr_type_node, fenv_var); *hold = build_call_expr (atomic_hold_decl, 1, fenv_addr); @@ -36503,7 +36503,7 @@ rs6000_atomic_assign_expand_fenv (tree *hold, tree *clear, tree *update) const unsigned HOST_WIDE_INT hold_exception_mask = HOST_WIDE_INT_C (0xffffffff00000007); - tree fenv_var = create_tmp_var (double_type_node); + tree fenv_var = create_tmp_var_raw (double_type_node); tree hold_mffs = build2 (MODIFY_EXPR, void_type_node, fenv_var, call_mffs); @@ -36532,7 +36532,7 @@ rs6000_atomic_assign_expand_fenv (tree *hold, tree *clear, tree *update) const unsigned HOST_WIDE_INT clear_exception_mask = HOST_WIDE_INT_C (0xffffffff00000000); - tree fenv_clear = create_tmp_var (double_type_node); + tree fenv_clear = create_tmp_var_raw (double_type_node); tree clear_mffs = build2 (MODIFY_EXPR, void_type_node, fenv_clear, call_mffs); @@ -36564,7 +36564,7 @@ rs6000_atomic_assign_expand_fenv (tree *hold, tree *clear, tree *update) const unsigned HOST_WIDE_INT new_exception_mask = HOST_WIDE_INT_C (0x1ff80fff); - tree old_fenv = create_tmp_var (double_type_node); + tree old_fenv = create_tmp_var_raw (double_type_node); tree update_mffs = build2 (MODIFY_EXPR, void_type_node, old_fenv, call_mffs); tree old_llu = build1 (VIEW_CONVERT_EXPR, uint64_type_node, old_fenv);