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.

Reply via email to