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

Reply via email to