]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/gcc-tumbl.git/commit
PR c++/48370
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Nov 2011 12:54:08 +0000 (12:54 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Nov 2011 12:54:08 +0000 (12:54 +0000)
commitc7b89256f73ad16b147bec0176ebacf9ca8d9454
tree2aea6e5048d38c60ba565aa04710e5fa10eeeadd
parentd306cbee92c9e9dc2bb4f4d013b713f2588a23e0
PR c++/48370
* call.c (extend_ref_init_temps, extend_ref_init_temps_1): New.
(set_up_extended_ref_temp): Use it.  Change cleanup parm to VEC.
(initialize_reference): Just call convert_like.
* decl.c (grok_reference_init): Just call initialize_reference.
(build_init_list_var_init): Remove.
(check_initializer): Change cleanup parm to VEC.  Handle references
like other types.  Call perform_implicit_conversion instead
of build_init_list_var_init.  Don't use build_aggr_init for
aggregate initialization of arrays.
(cp_finish_decl): Change cleanup to VEC.
* typeck2.c (store_init_value): Call extend_ref_init_temps.
Use build_vec_init for non-constant arrays.
* init.c (expand_aggr_init_1): Adjust.
(build_vec_init): Avoid re-converting an initializer
that's already digested.
* mangle.c (mangle_ref_init_variable): Add a discriminator.
* cp-tree.h: Adjust.
* typeck.c (convert_for_initialization): Adjust.
* decl2.c (maybe_emit_vtables): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180944 138bc75d-0d04-0410-961f-82ee72b054a4
16 files changed:
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/init.c
gcc/cp/mangle.c
gcc/cp/typeck.c
gcc/cp/typeck2.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/initlist-lifetime1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/eh/array1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/init/lifetime1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/init/ref21.C [new file with mode: 0644]
libiberty/ChangeLog
libiberty/cp-demangle.c