From: Jim Wilson Date: Mon, 12 Apr 1993 19:44:47 +0000 (-0700) Subject: (internal_build_compound_expr): When pedantic... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=29df70e6ff84935cebf6aa0e568d1fbf8234fb31;p=gcc.git (internal_build_compound_expr): When pedantic... (internal_build_compound_expr): When pedantic, don't simplify a COMPOUND_EXPR, so that it won't be mistaken for an lvalue or an integer constant expression. From-SVN: r4102 --- diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index e6d46ed7d27..d7745e3abf0 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -3788,7 +3788,9 @@ internal_build_compound_expr (list, first_p) rest = internal_build_compound_expr (TREE_CHAIN (list), FALSE); - if (! TREE_SIDE_EFFECTS (TREE_VALUE (list))) + /* When pedantic, a compound expression can be neither an lvalue + nor an integer constant expression. */ + if (! TREE_SIDE_EFFECTS (TREE_VALUE (list)) && ! pedantic) return rest; return build (COMPOUND_EXPR, TREE_TYPE (rest), TREE_VALUE (list), rest);