From 29df70e6ff84935cebf6aa0e568d1fbf8234fb31 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Mon, 12 Apr 1993 12:44:47 -0700 Subject: [PATCH] (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 --- gcc/c-typeck.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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); -- 2.30.2