* fold-const.c (fold_unary): Use build1 instead of copy_node.
authorKazu Hirata <kazu@cs.umass.edu>
Sun, 6 Mar 2005 20:14:16 +0000 (20:14 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Sun, 6 Mar 2005 20:14:16 +0000 (20:14 +0000)
From-SVN: r95989

gcc/ChangeLog
gcc/fold-const.c

index 106e3f2097dcf73e9bb24df9c248e63a2c05b37f..9c91bbc34f0cae52d76c1becd3b4778fc3692206 100644 (file)
@@ -4,6 +4,8 @@
 
        * cse.c (cse_reg_info_table): Make it static.
 
+       * fold-const.c (fold_unary): Use build1 instead of copy_node.
+
 2005-03-06  Zdenek Dvorak  <dvorakz@suse.cz>
 
        * cse.c (find_best_addr): Use canon_for_address.
index d7d23582599a0bf7cd0216c6b92d11a52195e711..1cab3fea43a1caab1c6e6ed250bff8feee1a57e1 100644 (file)
@@ -6808,8 +6808,7 @@ fold_unary (tree expr)
        {
          /* Don't leave an assignment inside a conversion
             unless assigning a bitfield.  */
-         tem = copy_node (t);
-         TREE_OPERAND (tem, 0) = TREE_OPERAND (op0, 1);
+         tem = build1 (code, type, TREE_OPERAND (op0, 1));
          /* First do the assignment, then return converted constant.  */
          tem = build2 (COMPOUND_EXPR, TREE_TYPE (tem), op0, fold (tem));
          TREE_NO_WARNING (tem) = 1;