-
- Downloads
PR c++/23171, c++/23172, c++/25417.
* c-decl.c (compound_literal_number): Remove. (build_compound_literal): Use set_compound_literal_name. * c-common.c (compound_literal_number): New variable. (set_compound_literal_name): New function. * c-common.h (set_compound_literal_name): Declare. PR c++/23171, c++/23172, c++/25417. * typeck.c (build_unary_op): Create temporary variables for compound literals whose addresses are taken. * init.c (expand_aggr_init_1): Use COMPOUND_LITERAL_P. * decl.c (reshape_init_vector): Likewise. (reshape_init): Give it external linkage. (check_initializer): Use COMPOUND_LITERAL_P. (initialize_artificial_var): Allow the initializer to be a CONSTRUCTOR. * call.c (make_temporary_var_for_ref_to_temp): Use create_temporary_var. * cp-tree.h (COMPOUND_LITERAL_P): New macro. (rehape_init): Declare. * typeck2.c (digest_init): Use COMPOUND_LITERAL_P. * semantics.c (finish_compound_literal): Use reshape_init. PR c++/23172 * g++.dg/ext/complit4.C: New test. PR c++/25417 * g++.dg/ext/complit5.C: Likewise. From-SVN: r109075
Showing
- gcc/ChangeLog 9 additions, 0 deletionsgcc/ChangeLog
- gcc/c-common.c 15 additions, 0 deletionsgcc/c-common.c
- gcc/c-common.h 2 additions, 0 deletionsgcc/c-common.h
- gcc/c-decl.c 2 additions, 10 deletionsgcc/c-decl.c
- gcc/cp/ChangeLog 18 additions, 0 deletionsgcc/cp/ChangeLog
- gcc/cp/call.c 3 additions, 10 deletionsgcc/cp/call.c
- gcc/cp/cp-tree.h 6 additions, 0 deletionsgcc/cp/cp-tree.h
- gcc/cp/decl.c 11 additions, 11 deletionsgcc/cp/decl.c
- gcc/cp/init.c 2 additions, 3 deletionsgcc/cp/init.c
- gcc/cp/semantics.c 3 additions, 1 deletiongcc/cp/semantics.c
- gcc/cp/typeck.c 77 additions, 59 deletionsgcc/cp/typeck.c
- gcc/cp/typeck2.c 1 addition, 2 deletionsgcc/cp/typeck2.c
- gcc/testsuite/ChangeLog 8 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/ext/complit4.C 10 additions, 0 deletionsgcc/testsuite/g++.dg/ext/complit4.C
- gcc/testsuite/g++.dg/ext/complit5.C 12 additions, 0 deletionsgcc/testsuite/g++.dg/ext/complit5.C
Loading
Please register or sign in to comment