This revision to gcc/cp 2006-05-24 Mark Mitchell <[EMAIL PROTECTED]>
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. has resulted in 3 new testsuite failures: FAIL: g++.dg/ext/dllimport4.C (test for errors, line 6) FAIL: g++.dg/ext/selectany1.C (test for excess errors) FAIL: g++.dg/ext/selectany2.C (test for excess errors) The dllimport failure is because handle_dllimport_atribute in tree.c uses DECL_INITIAL to disallow adding the attribute to the definition of a variable. The selectany failures are because ix86_handle_selectany_attribute in config/i386/winnt.c uses DECL_INITIAL to disallow adding the attribute to a variable that is _not_ initialized. For both attributes, the test for DECL_INITIAL still work in C testcases. Danny -- Summary: attribute handling fallout from DECL_INITIAL changes Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dannysmith at users dot sourceforge dot net GCC build triplet: i686-pc-mingw32 GCC host triplet: i686-pc-mingw32 GCC target triplet: i686-pc-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27789