]> gcc.gnu.org Git - gcc.git/commitdiff
Do not give a warning for a plain 0 used in a pointer context.
authorMichael Meissner <meissner@gcc.gnu.org>
Mon, 25 Jan 1993 03:40:07 +0000 (03:40 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Mon, 25 Jan 1993 03:40:07 +0000 (03:40 +0000)
From-SVN: r3322

gcc/c-typeck.c

index d1f49a78804f878c18b9749134821cb36cb05d46..98a3c9ec9672d2e2e38657e1c442087bce1b9de2 100644 (file)
@@ -56,6 +56,8 @@ static void pedantic_lvalue_warning ();
 tree truthvalue_conversion ();
 void incomplete_type_error ();
 void readonly_warning ();
+static tree internal_build_compound_expr ();
+
 \f
 /* Do `exp = require_complete_type (exp);' to make sure exp
    does not have an incomplete type.  (That includes void types.)  */
@@ -3632,6 +3634,14 @@ build_conditional_expr (ifexp, op1, op2)
 tree
 build_compound_expr (list)
      tree list;
+{
+  internal_build_compound_expr (list, TRUE);
+}
+
+static tree
+internal_build_compound_expr (list, first_p)
+     tree list;
+     int first_p;
 {
   register tree rest;
 
@@ -3646,7 +3656,7 @@ build_compound_expr (list)
 #endif
 
       /* Don't let (0, 0) be null pointer constant.  */
-      if (integer_zerop (TREE_VALUE (list)))
+      if (!first_p && integer_zerop (TREE_VALUE (list)))
        return non_lvalue (TREE_VALUE (list));
       return TREE_VALUE (list);
     }
@@ -3659,7 +3669,7 @@ build_compound_expr (list)
          = default_conversion (TREE_VALUE (TREE_CHAIN (list)));
     }
 
-  rest = build_compound_expr (TREE_CHAIN (list));
+  rest = internal_build_compound_expr (TREE_CHAIN (list), FALSE);
 
   if (! TREE_SIDE_EFFECTS (TREE_VALUE (list)))
     return rest;
This page took 0.068539 seconds and 5 git commands to generate.