OSDN Git Service

* c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 15 Oct 2004 21:32:03 +0000 (21:32 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 15 Oct 2004 21:32:03 +0000 (21:32 +0000)
non_lvalue to stop something being a null pointer constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89120 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-typeck.c

index a78f9bb..0d1ace7 100644 (file)
@@ -1,3 +1,8 @@
+2004-10-15  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
+       non_lvalue to stop something being a null pointer constant.
+
 2004-10-15  Aldy Hernandez  <aldyh@redhat.com>
 
        * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
index 7cc1024..9e4f0fb 100644 (file)
@@ -3054,10 +3054,6 @@ build_compound_expr (tree expr1, tree expr2)
   /* Convert arrays and functions to pointers.  */
   expr2 = default_function_array_conversion (expr2);
 
-  /* Don't let (0, 0) be null pointer constant.  */
-  if (integer_zerop (expr2))
-    expr2 = non_lvalue (expr2);
-
   if (!TREE_SIDE_EFFECTS (expr1))
     {
       /* The left-hand operand of a comma expression is like an expression
@@ -3300,12 +3296,6 @@ build_c_cast (tree type, tree expr)
        }
     }
 
-  /* Don't let (void *) (FOO *) 0 be a null pointer constant.  */
-  if (TREE_CODE (value) == INTEGER_CST
-      && TREE_CODE (expr) == INTEGER_CST
-      && TREE_CODE (TREE_TYPE (expr)) != INTEGER_TYPE)
-    value = non_lvalue (value);
-
   /* Don't let a cast be an lvalue.  */
   if (value == expr)
     value = non_lvalue (value);