re PR c++/39923 ([C++0x] ICE in build_init_list_var_init)

/cp
2009-09-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/39923
	* decl.c (build_init_list_var_init): Check return value of
	perform_implicit_conversion.

/testsuite
2009-09-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/39923
	* g++.dg/cpp0x/initlist24.C: New.

From-SVN: r151536
This commit is contained in:
Paolo Carlini 2009-09-08 22:00:42 +00:00 committed by Paolo Carlini
parent 7c20033ecc
commit f8c6dba24e
4 changed files with 23 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2009-09-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/39923
* decl.c (build_init_list_var_init): Check return value of
perform_implicit_conversion.
2009-09-03 Jason Merrill <jason@redhat.com>
* class.c (currently_open_class): Make sure we're dealing with the

View File

@ -4415,6 +4415,9 @@ build_init_list_var_init (tree decl, tree type, tree init, tree *cleanup)
{
tree aggr_init, array, arrtype;
init = perform_implicit_conversion (type, init, tf_warning_or_error);
if (error_operand_p (init))
return error_mark_node;
aggr_init = TARGET_EXPR_INITIAL (init);
init = build2 (INIT_EXPR, type, decl, init);

View File

@ -1,3 +1,8 @@
2009-09-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/39923
* g++.dg/cpp0x/initlist24.C: New.
2009-09-08 Ozkan Sezer <sezeroz@gmail.com>
* gcc.dg/large-size-array-2.c: Fix target requirement.

View File

@ -0,0 +1,9 @@
// PR c++/39923
// { dg-options "-std=c++0x" }
#include <initializer_list>
void test3()
{
std::initializer_list<int> list{move}; // { dg-error "not declared|could not convert" }
}