https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79822

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2017-03-03
                 CC|                            |msebor at gcc dot gnu.org
            Summary|[7 Regression] ICE with     |[5/7 Regression] ICE with
                   |void statement expression   |void statement expression
     Ever confirmed|0                           |1
      Known to fail|                            |5.3.0

--- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> ---
Confirmed.  Bisection points to r217670 which is gcc 5.0.0.  GCC 5.x and 7.0
both ICE, but 6.x does not.

r217670 | jason | 2014-11-17 14:08:07 -0500 (Mon, 17 Nov 2014) | 10 lines

        Handle C++14 constexpr flow control.
        * constexpr.c (cxx_eval_loop_expr, cxx_eval_switch_expr): New.
        (cxx_eval_statement_list): New.
        (cxx_eval_constant_expression): Handle LABEL_EXPR,
        CASE_LABEL_EXPR, GOTO_EXPR, LOOP_EXPR, SWITCH_EXPR.  Handle jump
        semantics of RETURN_EXPR.
        (many functions): Add jump_target parameter.
        (returns, breaks, continues, switches, label_matches): New.
        * cp-tree.h (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): New.
        * cp-gimplify.c (begin_bc_block): Set them.

Reply via email to