c-typeck.c (internal_build_compound_expr): Check for array to pointer conversion just once.

* c-typeck.c (internal_build_compound_expr): Check for
	array to pointer conversion just once.

From-SVN: r41879
This commit is contained in:
Neil Booth 2001-05-06 16:38:56 +00:00 committed by Neil Booth
parent 7026707d15
commit 714a0864cc
2 changed files with 9 additions and 8 deletions

View File

@ -1,3 +1,8 @@
2001-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
* c-typeck.c (internal_build_compound_expr): Check for
array to pointer conversion just once.
2001-05-05 Richard Henderson <rth@redhat.com>
* integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.

View File

@ -3644,6 +3644,10 @@ internal_build_compound_expr (list, first_p)
if (TREE_CHAIN (list) == 0)
{
/* Convert arrays to pointers when there really is a comma operator. */
if (!first_p && TREE_CODE (TREE_TYPE (TREE_VALUE (list))) == ARRAY_TYPE)
TREE_VALUE (list) = default_conversion (TREE_VALUE (list));
#if 0 /* If something inside inhibited lvalueness, we should not override. */
/* Consider (x, y+0), which is not an lvalue since y+0 is not. */
@ -3658,14 +3662,6 @@ internal_build_compound_expr (list, first_p)
return TREE_VALUE (list);
}
if (TREE_CHAIN (list) != 0 && TREE_CHAIN (TREE_CHAIN (list)) == 0)
{
/* Convert arrays to pointers when there really is a comma operator. */
if (TREE_CODE (TREE_TYPE (TREE_VALUE (TREE_CHAIN (list)))) == ARRAY_TYPE)
TREE_VALUE (TREE_CHAIN (list))
= default_conversion (TREE_VALUE (TREE_CHAIN (list)));
}
rest = internal_build_compound_expr (TREE_CHAIN (list), FALSE);
if (! TREE_SIDE_EFFECTS (TREE_VALUE (list)))