On Wed, Dec 20, 2017 at 10:02:24PM -0200, Alexandre Oliva wrote:
> --- a/gcc/c-family/c-semantics.c
> +++ b/gcc/c-family/c-semantics.c
> @@ -96,6 +96,15 @@ pop_stmt_list (tree t)
>             t = l;
>             tsi_link_before (&i, u, TSI_SAME_STMT);
>           }
> +       while (!tsi_end_p (i)
> +              && TREE_CODE (tsi_stmt (i)) == DEBUG_BEGIN_STMT)
> +         tsi_next (&i);
> +       /* If there's only one nondebug stmt in the list, we'd have
> +          extracted the stmt and dropped the list, and we'd take
> +          TREE_SIDE_EFFECTS from that statement, so keep the list's
> +          TREE_SIDE_EFFECTS in sync.  */
> +       if (tsi_one_before_end_p (i))
> +         TREE_SIDE_EFFECTS (t) = TREE_SIDE_EFFECTS (tsi_stmt (i));

So DEBUG_BEGIN_STMTs after the single non-DEBUG_BEGIN_STMT stmt in
the STATEMENT_LIST can't happen (or just we don't have a testcase for it)?

        Jakub

Reply via email to