From f2f81d570826c20c299a3509d1b0866f0e9a9afd Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Tue, 22 Mar 2011 10:14:07 +0000 Subject: [PATCH] * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions. From-SVN: r171282 --- gcc/ChangeLog | 4 ++++ gcc/gimplify.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d164a0218f6..c6d5fe915b0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2011-03-22 Eric Botcazou + + * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions. + 2011-03-22 Andreas Krebbel * config/s390/s390.c (s390_delegitimize_address): Fix offset diff --git a/gcc/gimplify.c b/gcc/gimplify.c index c034ec29228..e48409d4a74 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -2992,6 +2992,11 @@ gimplify_cond_expr (tree *expr_p, gimple_seq *pre_p, fallback_t fallback) return GS_ALL_DONE; } + /* Remove any COMPOUND_EXPR so the following cases will be caught. */ + STRIP_TYPE_NOPS (TREE_OPERAND (expr, 0)); + if (TREE_CODE (TREE_OPERAND (expr, 0)) == COMPOUND_EXPR) + gimplify_compound_expr (&TREE_OPERAND (expr, 0), pre_p, true); + /* Make sure the condition has BOOLEAN_TYPE. */ TREE_OPERAND (expr, 0) = gimple_boolify (TREE_OPERAND (expr, 0)); -- 2.30.2