{"push_id":686741787,"size":4,"distinct_size":0,"ref":"refs/heads/trunk","head":"47369d8b5c746b5644b95ea97290fe66eccfbea6","before":"d51560f9afc5c8a826bcfa6fc90a96156b623559","commits":[{"sha":"3a1c9df24981c5068334726a0d92fd80c455eb6e","author":{"email":"b10e68578f8807a3d83d28f2fdc4532b2cce2a4e@138bc75d-0d04-0410-961f-82ee72b054a4","name":"aldyh"},"message":"Merge debug-early branch into mainline.\n\n\t* dwarf2out.c: Remove deferred_locations*.\n\t(dwarf2_debug_hooks): Add early_finish hook.\n\tRemove global_decl hook.\n\tAdd early_global_decl and late_global_decl hook.\n\tNew global early_dwarf.\n\tNew structure set_early_dwarf.\n\t(output_die): Indicate whether a DIE was generated early\n\twhen generating assembly with -dA.\n\t(struct limbo_die_struct): Document created_for field.\n\tRemove file_table_last_lookup.\n\t(remove_AT): Return TRUE if successful.\n\t(remove_child_TAG): Clear die_parent.\n\t(reparent_child): New function abstracted from...\n\t(splice_child_die): ...here.\n\t(new_die): ICE if a DIE ends up in limbo too late.\n\t(check_die): New.\n\t(defer_location): Remove.\n\t(add_subscript_info): Reuse DW_TAG_subrange_type if available.\n\t(fill_variable_array_bounds): New.\n\t(decl_start_label): Call fill_variable_array_bounds.\n\t(gen_formal_parameter_die): Rewrite to reuse previously generated\n\tDIEs.\n\t(gen_subprogram_die): Same.\n\t(gen_variable_die): Same.\n\t(gen_const_die): Same.\n\t(gen_label_die): Same.\n\t(gen_lexical_block_die): Same.\n\t(decl_will_get_specification_p): New.\n\t(local_function_static): New.\n\t(gen_struct_or_union_type_die): Fill in variable-length fields.\n\t(gen_typedef_die): Fill in variable-length typedefs.\n\t(gen_tagged_type_die): Gracefully return on error_mark_node.\n\tHandle re-entrancy.\n\t(gen_type_die_with_usage): Handle variable-length types.\n\tRemove duplicate code for ARRAY_TYPE case.\n\t(process_scope_var): Only process imported modules during early\n\tdwarf.\n\t(dwarf2out_early_global_decl): New.\n\t(dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.\n\t(dwarf2out_type_decl): Set early_dwarf while calling\n\tdwarf2out_decl.\n\t(dwarf2out_decl): Verify that we did not recreate a previously\n\tgenerated DIE.\n\tDo not return on DECL_EXTERNALs in VAR_DECLs.\n\tAbstract some code to local_function_static.\n\t(lookup_filename): Remove use of file_table_last_lookup.\n\tGracefully exit on missing file_name.\n\t(dwarf2out_finish): Verify limbo list.\n\tRemove deferred_locations_list use.\n\tMove deferred_asm_name and limbo flushing to...\n\t(dwarf2out_early_finish): ...here.  New.\n\t(dwarf2out_c_finalize): Remove set of deferred_location_list,\n\tdeferred_asm_name, and file_table_last_lookup.\n\t* cgraph.h (referred_to_p): Add default argument.\n\t* cgraphunit.c (referred_to_p): Add and handle include_self\n\targument.\n\t(analyze_functions): Add first_time argument.\n\tCall check_global_declaration for all symbols.\n\tCall late_global_decl for nodes for moribund nodes.\n\t(finalize_compilation_unit): Add new argument to\n\tanalyze_functions.\n\tCall early_global_decl for functions.\n\tCall early_finish debug hook.\n\t* dbxout.c (dbxout_early_global_decl): New.\n\t(dbxout_late_global_decl): New.  Adapted from dbxout_global_decl.\n\t(dbx_debug_hooks): Add new hooks.\n\t(xcoff_debug_hooks): Same.\n\t* debug.c (do_nothing_debug_hooks): Add early_finish field.\n\tAdd early and late debug hooks.\n\tRemove global_decl hook.\n\t* debug.h (struct gcc_debug_hooks): Add early_finish,\n\tearly_global_decl, and late_global_decl fields.\n\tRemove global_decl field.\n\tDocument gcc_debug_hooks.\n\t* gengtype.c (output_typename): Remove.\n\t* godump.c (go_early_global_decl): New.\n\t(go_late_global_decl): New.\n\t(go_global_decl): Remove.\n\t(dump_go_spec_init): Remove global_decl.  Add\n\t{early,late}_global_decl.\n\t* langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.\n\t(LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.\n\t* langhooks.c (lhd_warn_unused_global_decl): Adjust comment.\n\t(write_global_declarations): Remove.\n\t(global_decl_processing): New.\n\t* langhooks.h (struct lang_hooks_for_decls): Remove\n\tfinal_write_globals field.\n\tAdd post_compilation_parsing_cleanups field.\n\t* passes.c (rest_of_decl_compilation): Call early_global_decl.\n\t* sdbout.c: Add early and late_global_decl hooks.  Remove\n\tsdbout_global_decl hook.\n\tAdd early_finish field for sdb_debug_hooks.\n\t(sdbout_global_decl): Remove.\n\t(sdbout_early_global_decl): New.\n\t(sdbout_late_global_decl): New.\n\t* timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.\n\t* toplev.c (check_global_declaration): Rename from\n\tcheck_global_declaration_1.\n\tAdapt to use symtab infrastructure.\n\t(check_global_declarations): Remove.\n\t(emit_debug_global_declarations): Remove.\n\t(compile_file): Remove call to final_write_globals langhook.\n\tRun the actual compilation process.\n\tPerform any post compilation parser cleanups.\n\tGenerate late debug info.\n\t* toplev.h (check_global_declaration): New.\n\t(check_global_declaration_1): Remove.\n\t(check_global_declarations): Remove.\n\t(write_global_declarations): Remove.\n\t(emit_debug_global_declarations): Remove.\n\t(global_decl_processing): New.\n\t* tree-core.h (struct tree_block): Add DIE field.\n\t* tree.h (BLOCK_DIE): New.\n\t* vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use\n\tthroughout.\n\t(vmsdbgout_early_global_decl): New.\n\t(vmsdbgout_late_global_decl): New.\n\tAdd early_finish debug hook field to vmsdbg_debug_hooks.\n\tRemove vmsdbgout_decl to vmsdbgout_function_decl.\n\tAdd early and late_global_decl debug hooks.\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224161 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/gcc-mirror/gcc/commits/3a1c9df24981c5068334726a0d92fd80c455eb6e"},{"sha":"09c4fbed94853276b60cabb9769aa274b84475e1","author":{"email":"68c46a606457643eab92053c1c05574abb26f861@138bc75d-0d04-0410-961f-82ee72b054a4","name":"jason"},"message":"\tPR c++/66405\n\t* pt.c (type_dependent_expression_p): EXPR_PACK_EXPANSION is\n\tdependent even if it has a type.\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224162 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/gcc-mirror/gcc/commits/09c4fbed94853276b60cabb9769aa274b84475e1"},{"sha":"4c04891d22563a23e2c2aea24fdab91cc789aa9a","author":{"email":"68c46a606457643eab92053c1c05574abb26f861@138bc75d-0d04-0410-961f-82ee72b054a4","name":"jason"},"message":"\tPR c++/66405\n\t* pt.c (argument_pack_element_is_expansion_p): Return 2 if\n\tthe expansion has extra args.\n\t(use_pack_expansion_extra_args_p): Return true in that case.\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224163 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/gcc-mirror/gcc/commits/4c04891d22563a23e2c2aea24fdab91cc789aa9a"},{"sha":"47369d8b5c746b5644b95ea97290fe66eccfbea6","author":{"email":"b10e68578f8807a3d83d28f2fdc4532b2cce2a4e@138bc75d-0d04-0410-961f-82ee72b054a4","name":"aldyh"},"message":"\t* jcf-parse.c: Include toplev.h.\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224168 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/gcc-mirror/gcc/commits/47369d8b5c746b5644b95ea97290fe66eccfbea6"}]}