[Bug target/27789] New: attribute handling fallout from DECL_INITIAL changes
dannysmith at users dot sourceforge dot net
gcc-bugzilla@gcc.gnu.org
Sun May 28 23:10:00 GMT 2006
This revision to gcc/cp
2006-05-24 Mark Mitchell <mark@codesourcery.com>
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
More information about the Gcc-bugs
mailing list