Commit 625f85e9 by Paolo Carlini Committed by Paolo Carlini

re PR c++/49776 ([C++0x]ICE in build_data_member_initialization, at cp/semantics.c:5499)

/cp
2011-07-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49776
	* typeck.c (cp_build_modify_expr): Check digest_init return value
	for error_mark_node.

/testsuite
2011-07-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49776
	* g++.dg/cpp0x/constexpr-49776.C: New.

From-SVN: r176809
parent bce26def
2011-07-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49776
* typeck.c (cp_build_modify_expr): Check digest_init return value
for error_mark_node.
2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
PR bootstrap/49845
......
......@@ -6753,6 +6753,8 @@ cp_build_modify_expr (tree lhs, enum tree_code modifycode, tree rhs,
if (check_array_initializer (lhs, lhstype, newrhs))
return error_mark_node;
newrhs = digest_init (lhstype, newrhs, complain);
if (newrhs == error_mark_node)
return error_mark_node;
}
else if (!same_or_base_type_p (TYPE_MAIN_VARIANT (lhstype),
......
2011-07-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49776
* g++.dg/cpp0x/constexpr-49776.C: New.
2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/47046
......
// PR c++/49776
// { dg-options -std=c++0x }
struct s
{
int i[1];
template<class... Types>
constexpr s(Types... args)
: i{args...} // { dg-error "cannot convert" }
{ }
};
int main()
{
s test = nullptr;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment