convert.c (strip_float_extension): Skip both NOP_EXPR and CONVERT_EXPR floating point...
authorRoger Sayle <roger@eyesopen.com>
Wed, 23 Jun 2004 20:42:45 +0000 (20:42 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Wed, 23 Jun 2004 20:42:45 +0000 (20:42 +0000)
* convert.c (strip_float_extension): Skip both NOP_EXPR and
CONVERT_EXPR floating point extensions.

From-SVN: r83565

gcc/ChangeLog
gcc/convert.c

index 320edb0020e4baf2c12731d4fe005ebb0b9b7086..f946e555d2ddb91e190c17924e6e4791c9f36d7e 100644 (file)
@@ -1,3 +1,8 @@
+2004-06-23  Roger Sayle  <roger@eyesopen.com>
+
+       * convert.c (strip_float_extension): Skip both NOP_EXPR and
+       CONVERT_EXPR floating point extensions.
+
 2004-06-23  Diego Novillo  <dnovillo@redhat.com>
 
        * Makefile.in (tree-vn.o): New.
index ef0d1f568cf813c6b19fb6a3b1a6c8adb25b25fe..5441bf173f440976275ac55dc76618a802cad1d9 100644 (file)
@@ -99,7 +99,8 @@ strip_float_extensions (tree exp)
        return build_real (type, real_value_truncate (TYPE_MODE (type), orig));
     }
 
-  if (TREE_CODE (exp) != NOP_EXPR)
+  if (TREE_CODE (exp) != NOP_EXPR
+      && TREE_CODE (exp) != CONVERT_EXPR)
     return exp;
 
   sub = TREE_OPERAND (exp, 0);