This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/14829] [3.5 Regression] Bootstrap comparison failure on hppa64-hp-hpux11.11


------- Additional Comments From danglin at gcc dot gnu dot org  2004-04-08 20:25 -------
The following patch appears to have introduced this regression
on hppa64-hpux11:

2004-03-23  Zack Weinberg  <zack@codesourcery.com>

        PR 12267, 12391, 12560, 13129, 14114, 14113

        * c-tree.h: Forward declare struct c_binding.  Declare
        c_override_bindings_to_false.  Update prototypes.
        (struct lang_identifier): Update comments.  Change fields to be
        struct c_binding *.
        (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
        (IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
        (KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
        (C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
        * c-common.h: Update prototypes.
        * c-decl.c (struct c_scope): Update commentary.  Remove names,
        names_last, parms, parms_last, tags, and shadowed fields.  Add
        bindings and depth fields.
        (scope_freelist): Move to more appropriate location.
        (c_print_identifier): Update for changes to struct lang_identifier.
        (objc_mark_locals_volatile): Update for new bindings structures.
        (global_bindings_p): Honor c_override_global_bindings_to_false.
        (pushlevel): Rename to push_scope; take no arguments; use the
        scope_freelist; initialize scope->depth and check for overflow.
        (poplevel): Rename to pop_scope; totally rewritten for new bindings
        structures.
        (diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
        C_DECL_INVISIBLE, for certain decisions.  Adjust some diagnostics.
        Improve some commentary.  Adjust handling of forward parm decls.
        (merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
        Preserve C_DECL_IN_EXTERNAL_SCOPE.
        (warn_if_shadowing): Correct indentation.  Improve diagnostics.
        (pushdecl): Remove unnecessary assertion.  Short-circuit anonymous
        decls.  Rewrite for new bindings structures.  Improve commentary.
        Eliminate the copy_node call.
        (implicit_decl_warning): Use the "diag" idiom (as seen in
        locate_old_decl) to reduce code duplication; call locate_old_decl
        if appropriate.  Relocate to remove need for forward declaration.
        (implicitly_declare): Adjust for new bindings structures.  Kludge
        around Objective-C not-really-builtin functions.
        (undeclared_variable): Improve diagnostics.  If current_function_decl
        is nonnull but current_function_scope is null, use current_scope.
        Use bind.
        (lookup_tag): Adjust for new bindings structures.  Kludge around
        Objective-C's tag declarations that wind up in the external scope.
        (lookup_name): Adjust for new bindings structures.  Kludge around
        c-common.c's pseudo-typedefs that wind up in the external scope.
        (lookup_name_current_level): Rename lookup_name_in_scope; take a
        second argument indicating the scope to examine; rewrite for
        new bindings structures.
        (c_init_decl_processing): Adjust for renamed functions.  Do not
        initialize current_file_decl, first_builtin_decl, last_builtin_decl.
        First scope pushed is the external scope, not the global scope.
        (builtin_function): Use bind, not pushdecl.  Adjust other bits
        for new data structures.  Keep track of builtins that should be
        made visible automatically.
        (start_decl): Adjust diagnostics.  Remove unnecessary call to
        expand_decl.
        (grokparms): Return 0 if arg_types is error_mark_node.
        (get_parm_info): Rename "void_at_end" argument to "ellipsis", with
        reversed sense.  Rewrite for new bindings structures.  Do not
        leave any decls in the scope, to prevent pop_scope from doing
        contradictory things with them.
        (finish_struct, finish_enum): Remove redundant diagnostics.
        (build_enumerator): Don't cascade diagnostics for error_mark_node.
        Mark location where -pedantic changes the meaning of the program.
        (store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
        parameter decls into the function's scope structure using bind.
        Warn here about function definitions in the wrong style.
        Adjust diagnostics.
        (store_parm_decls): Correct the determination of whether a
        function was defined with a prototype.
        (c_write_global_declarations): Operate on all file decls and on
        the external scope.  Split body of the loop to...
        (c_write_global_declarations_1): ... this new function, to avoid
        code duplication.
        (truly_local_externals, first_builtin_decl, last_builtin_decl)
        (make_scope, pop_scope, in_parm_level_p, set_block)
        (any_external_decl, record_external_decl, bind_label, getdecls)
        (link_hash_hash, link_hash_eq, merge_translation_unit_decls)
        (c_reset_state): Delete.
        (visible_builtins, c_override_global_bindings_to_false)
        (c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
        (I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
        (external_scope, binding_freelist, bind, free_binding_and_advance)
        (push_file_scope, pop_file_scope): New.
        (pushtag, pushdecl_top_level, lookup_label, declare_label)
        (define_label, c_make_fname_decl, finish_decl)
        (mark_forward_parm_decls, build_compound_literal)
        (grokdeclarator, start_function, check_for_loop_decls)
        (identifier_global_value, record_builtin_type): Minor adjustments
        for new bindings structures.  Improve diagnostics and commentary.
        * c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
        pushlevel/poplevel respectively.
        pushlevel/poplevel respectively.
        (c_objc_common_finish_file): Don't call merge_translation_unit_decls.
        * c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
        Warn about YYDEBUG not being defined only if -dy.  Remove no-longer-
        correct loop over multiple translation units; call fatal_error if
        requested to compile more than one file at once.  (This disables
        IMA temporarily - an up-front error being preferable to a crash.)
        * c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
        (all actions): Adjust calls to pushlevel/poplevel.
        (parsing_iso_function_signature): Delete.
        (extdef_1): Fold into extdef.
        (old_style_parm_decls_1): Fold into old_style_parm_decls.  Don't
        warn here about function definitions in the wrong style.
        (after_tyle_declarator, parm_declarator_starttypename)
        (parm_declarator_nostarttypename, notype_declarator): Remove
        commented-out productions.
        (parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
        an empty TREE_LIST node.  Adjust calls to get_parm_info.
        (parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
        to suppress -Wold-style-definition after this error.
        (c_parse_file): Don't clear the binding stack or call
        finish_fname_decls here.  Correct comment.
        * c-typeck.c (same_translation_unit_p): Export.
        (common_type): Use c_override_global_bindings_to_false, not
        pushlevel/poplevel/declare_parm_level.
        * c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
        LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
        and LANG_HOOKS_GETDECLS with do-nothing stubs.
        * objc/objc-lang.c: Likewise.
        * objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
        get_parm_info.
        (OBJC_VOID_AT_END): Delete; replace all uses
        with void_list_node.
        (generate_forward_declaration_to_string_table): Delete.
        * objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.

        * coverage.c (create_coverage): Don't pushdecl anything.
        * langhooks.c (lhd_clear_binding_stack): Call
        lang_hooks.decls.poplevel, not poplevel.
        * tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
        circular list rather than going into an infinite loop.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |zack at codesourcery dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14829


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]