Commit 82bde854 by Michael Meissner

Do not give a warning for a plain 0 used in a pointer context.

From-SVN: r3322
parent 21cd4ffc
...@@ -56,6 +56,8 @@ static void pedantic_lvalue_warning (); ...@@ -56,6 +56,8 @@ static void pedantic_lvalue_warning ();
tree truthvalue_conversion (); tree truthvalue_conversion ();
void incomplete_type_error (); void incomplete_type_error ();
void readonly_warning (); void readonly_warning ();
static tree internal_build_compound_expr ();
/* Do `exp = require_complete_type (exp);' to make sure exp /* Do `exp = require_complete_type (exp);' to make sure exp
does not have an incomplete type. (That includes void types.) */ does not have an incomplete type. (That includes void types.) */
...@@ -3633,6 +3635,14 @@ tree ...@@ -3633,6 +3635,14 @@ tree
build_compound_expr (list) build_compound_expr (list)
tree 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; register tree rest;
if (TREE_CHAIN (list) == 0) if (TREE_CHAIN (list) == 0)
...@@ -3646,7 +3656,7 @@ build_compound_expr (list) ...@@ -3646,7 +3656,7 @@ build_compound_expr (list)
#endif #endif
/* Don't let (0, 0) be null pointer constant. */ /* 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 non_lvalue (TREE_VALUE (list));
return TREE_VALUE (list); return TREE_VALUE (list);
} }
...@@ -3659,7 +3669,7 @@ build_compound_expr (list) ...@@ -3659,7 +3669,7 @@ build_compound_expr (list)
= default_conversion (TREE_VALUE (TREE_CHAIN (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))) if (! TREE_SIDE_EFFECTS (TREE_VALUE (list)))
return rest; return rest;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment