re PR c++/46298 (constexpr ICE on ARM)

PR c++/46298
	* semantics.c (build_constexpr_constructor_member_initializers):
	Handle an enclosing STATEMENT_LIST.

From-SVN: r166330
This commit is contained in:
Jason Merrill 2010-11-04 16:31:31 -04:00 committed by Jason Merrill
parent 58082ff616
commit d4e55f308e
2 changed files with 7 additions and 2 deletions

View File

@ -1,5 +1,9 @@
2010-11-04 Jason Merrill <jason@redhat.com>
PR c++/46298
* semantics.c (build_constexpr_constructor_member_initializers):
Handle an enclosing STATEMENT_LIST.
* semantics.c (speculative_access_check): New.
* cp-tree.h: Declare it.
* call.c (build_over_call): Use it.

View File

@ -5535,8 +5535,9 @@ build_constexpr_constructor_member_initializers (tree type, tree body)
if (TREE_CODE (body) == MUST_NOT_THROW_EXPR
|| TREE_CODE (body) == EH_SPEC_BLOCK)
body = TREE_OPERAND (body, 0);
if (TREE_CODE (body) == BIND_EXPR)
body = BIND_EXPR_BODY (body);
if (TREE_CODE (body) == STATEMENT_LIST)
body = STATEMENT_LIST_HEAD (body)->stmt;
body = BIND_EXPR_BODY (body);
if (TREE_CODE (body) == CLEANUP_POINT_EXPR)
ok = build_data_member_initialization (body, &vec);
else if (TREE_CODE (body) == STATEMENT_LIST)