------- Comment #53 from mmitchel at gcc dot gnu dot org 2006-05-25 20:18 ------- Subject: Bug 20103
Author: mmitchel Date: Thu May 25 20:18:26 2006 New Revision: 114119 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114119 Log: PR c++/20103 * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var for anonymous variables explicitly declared by front ends. PR c++/20103 * decl.c (cp_make_fname_decl): Don't set DECL_INITIAL to error_mark_node to indicate an initialization is OK. (start_decl): Likewise. Adjust call to start_decl_1. (start_decl_1): Add initialized parameter. Simplify. * except.c (initialize_handler_parm): Adjust call to setart_decl_1. (expand_start_catch_block): Let cp_finish_decl initialize catch parameters. * cp-tree.h (start_decl_1): Adjust prototype. * pt.c (tsubst_expr): Don't set DECL_INITIAL to error_mark_node. (instantiate_decl): Let cp_finish_decl handle initialization. * semantics.c (finish_compound_literal): Create a temporary variable for the literal. * typeck.c (build_unary_op): Remove COMPOUND_LITERAL_P special cases. * decl2.c (finish_static_data_member_decl): Don't set DECL_INITIAL. (grokfield): Do not try to initialize functions. PR c++/20103 * g++.dg/ext/complit6.C: New test. * g++.dg/ext/complit3.C: Adjust error markers. * g++.dg/init/const3.C: New test. Added: trunk/gcc/testsuite/g++.dg/ext/complit6.C trunk/gcc/testsuite/g++.dg/init/const3.C Modified: trunk/gcc/ChangeLog trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/decl.c trunk/gcc/cp/decl2.c trunk/gcc/cp/except.c trunk/gcc/cp/pt.c trunk/gcc/cp/semantics.c trunk/gcc/cp/typeck.c trunk/gcc/gimplify.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/ext/complit3.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20103