http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48370

--- Comment #2 from Jason Merrill <jason at gcc dot gnu.org> 2011-11-04 
12:54:14 UTC ---
Author: jason
Date: Fri Nov  4 12:54:08 2011
New Revision: 180944

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

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/initlist-lifetime1.C
    trunk/gcc/testsuite/g++.dg/eh/array1.C
    trunk/gcc/testsuite/g++.dg/init/lifetime1.C
    trunk/gcc/testsuite/g++.dg/init/ref21.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/call.c
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/decl.c
    trunk/gcc/cp/decl2.c
    trunk/gcc/cp/init.c
    trunk/gcc/cp/mangle.c
    trunk/gcc/cp/typeck.c
    trunk/gcc/cp/typeck2.c
    trunk/gcc/testsuite/ChangeLog
    trunk/libiberty/ChangeLog
    trunk/libiberty/cp-demangle.c

Reply via email to