[Bug c/52862] [4.5/4.6/4.7/4.8 Regression] ICE convert_to_pointer, at convert.c:50

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Apr 12 15:01:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52862

--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-04-12 15:00:25 UTC ---
I'm testing

Index: convert.c
===================================================================
--- convert.c   (revision 186373)
+++ convert.c   (working copy)
@@ -44,11 +44,6 @@ convert_to_pointer (tree type, tree expr
   if (TREE_TYPE (expr) == type)
     return expr;

-  /* Propagate overflow to the NULL pointer.  */
-  if (integer_zerop (expr))
-    return force_fit_type_double (type, double_int_zero, 0,
-                                 TREE_OVERFLOW (expr));
-
   switch (TREE_CODE (TREE_TYPE (expr)))
     {
     case POINTER_TYPE:

at least I don't see why 0 is special - for example why we should allow
conversion of a COMPLEX_CST or VECTOR_CST to a pointer.



More information about the Gcc-bugs mailing list