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.