aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/fold-const.c5
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0022d62..d167392 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-06 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (fold_convert): Do not build and fold
+ CONVERT_EXPR, but always use NOP_EXPR.
+
2005-12-06 Jan Beulich <jbeulich@novell.com>
* config/i386/i386.c (builtin_description): Use MASK_SSE2 for
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index dfac2ed..fcb7add 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -2017,8 +2017,7 @@ fold_convert (tree type, tree arg)
return fold_build1 (FLOAT_EXPR, type, arg);
case REAL_TYPE:
- return fold_build1 (flag_float_store ? CONVERT_EXPR : NOP_EXPR,
- type, arg);
+ return fold_build1 (NOP_EXPR, type, arg);
case COMPLEX_TYPE:
tem = fold_build1 (REALPART_EXPR, TREE_TYPE (orig), arg);
@@ -2070,7 +2069,7 @@ fold_convert (tree type, tree arg)
return fold_build1 (VIEW_CONVERT_EXPR, type, arg);
case VOID_TYPE:
- return fold_build1 (CONVERT_EXPR, type, fold_ignored_result (arg));
+ return fold_build1 (NOP_EXPR, type, fold_ignored_result (arg));
default:
gcc_unreachable ();