This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r217670 - in /trunk/gcc: cp/ChangeLog cp/conste...


Author: jason
Date: Mon Nov 17 19:08:07 2014
New Revision: 217670

URL: https://gcc.gnu.org/viewcvs?rev=217670&root=gcc&view=rev
Log:
	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.

Added:
    trunk/gcc/testsuite/g++.dg/cpp1y/constexpr-loop1.C
    trunk/gcc/testsuite/g++.dg/cpp1y/constexpr-return1.C
    trunk/gcc/testsuite/g++.dg/cpp1y/constexpr-return2.C
    trunk/gcc/testsuite/g++.dg/cpp1y/constexpr-switch1.C
    trunk/gcc/testsuite/g++.dg/cpp1y/constexpr-switch2.C
    trunk/gcc/testsuite/g++.dg/cpp1y/constexpr-switch3.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/constexpr.c
    trunk/gcc/cp/cp-gimplify.c
    trunk/gcc/cp/cp-tree.h


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]