aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
AgeCommit message (Collapse)AuthorFilesLines
2005-07-08Makefile.in (TREE_H): Add treestruct.def.Daniel Berlin1-1/+2
2005-07-08 Daniel Berlin <dberlin@dberlin.org> * Makefile.in (TREE_H): Add treestruct.def. (c-decl.o): Add pointer-set.h * c-decl.c (diagnose_mismatched_decls): Don't attempt to look at visibility on regular DECL's. (merge_decls): Fix the copying of decl nodes of various types for the new structures. Don't update RTL, section name, weak status, etc, on DECL's without RTL. (grokdeclarator): DECL_ARG_TYPE_AS_WRITTEN is gone. Don't check volatile on non-variable types. (store_parm_decls_oldstyle): Use pointer_set instead of DECL_WEAK to check whether we have seen arguments. * c-objc-common.c (c_tree_printer): Reverse order of tests so that flag is checked before field (flag is common, field is not). * dwarf2out.c (decl_ultimate_origin): Only DECL's with TS_DECL_COMMON could have an origin. (add_location_or_const_value_attribute): Don't check section name on non-var/function decls. (dwarf2out_var_location): Reverse order of tests. * emit-rtl.c (set_reg_attrs_for_parm): DECL_CHECK is dead, replace with DECL_WRTL_CHECK. * expmed.c (make_tree): rtl is now in decl_with_rtl. * fold-const.c (fold_binary): Don't check weakness on non-var/function decls. (tree_expr_nonzero_p): Ditto. (fold_checksum_tree): Use tree_decl_extra as sizeof buffer. * ggc-page.c (extra_order_size_table): Add sizes for tree_decl_non_common, tree_parm_decl, tree_var_decl, and tree_field_decl. * gimplify.c (gimplify_bind_expr): Only set DECL_SEEN_IN_BIND_EXPR_P on VAR_DECL. * integrate.c (copy_decl_for_inlining): Don't set RTL on decl's without RTL. * langhooks-def.h (LANG_HOOK_INIT_TS): New. * langhooks.h (init_ts). New langhook. * passes.c (rest_of_decl_compilation): Reverse order of tests. * print-tree.c (print_node): Update to only print fields that exist in the structures the passed decl has. * toplev.c (wrapup_global_declarations): Don't reset DECL_DEFER_OUTPUT on DECL's that don't contain it. * tree-browser.c (browse_tree): DECL_ARG_TYPE_AS_WRITTEN removed. * tree-inline.c (remap_decl): Ditto. * tree-outof-ssa.c (create_temp): Reverse order of tests. * tree-pretty-print.c (print_declaration): Don't print DECL_REGISTER on things that don't contain it. * tree-vrp.c (expr_computes_nonzero): Don't check weakness on non-var/function decls. * tree.c (tree_contains_struct): New structure. (init_priority_for_decl): New hashtable. (tree_int_map): New structure. (tree_int_map_eq): New function. (tree_int_map_marked_p): Ditto. (tree_int_map_hash): Ditto. (tree_map): Move to tree.h. (tree_map_eq): Externalize. (tree_map_hash): Ditto. (tree_map_marked_p): Ditto. (init_ttree): Set up tree_contains_struct and call langhook. (decl_assembler_name): Use DECL_NON_COMMON_CHECK.. (tree_code_size): Update for new structures. (tree_node_structure): Update for new structures. (make_node_stat): Don't try to set DECL_IN_SYSTEM_HEADER on decls without the field. (copy_node_stat): Copy init priority. (build_decl_stat): Ditto for visibility. (ts_enum_names): New. (tree_contains_struct_check_failed): New function. (decl_init_priority_lookup): Ditto. (decl_init_priority_insert): Ditto. * treestruct.def: New file. * tree.h (CODE_CONTAINS_STRUCT): New macro. (CONTAINS_STRUCT_CHECK): Ditto. (tree_contains_struct_check_failed): New prototype. (DECL_CHECK): Removed. (DECL_MINIMAL_CHECK): New. (DECL_COMMON_CHECK): Ditto. (DECL_WRTL_CHECK): Ditto. (DECL_NON_COMMON_CHECK): Ditto. (DECL_WITH_VIS_CHECK): Ditto. (VAR_OR_FUNCTION_DECL_P): Ditto (struct tree_decl_minimal): New structure. (struct tree_decl_common): Ditto. (struct tree_decl_with_rtl): Ditto. (struct tree_decl_with_vis): Ditto. (struct tree_decl_non_common): Ditto. (struct tree_field_decl): Ditto. (struct tree_parm_decl): Ditto. (struct tree_var_decl): Ditto. (struct tree_function_decl): Ditto. (struct tree_const_decl): Ditto. (struct tree_result_decl): Ditto. (union tree_node): Add new structures. * var-tracking.c (track_expr_p): Reverse order of tests. * doc/c-tree.texi: Add documentation on DECL node internal structure. 2005-07-08 Daniel Berlin <dberlin@dberlin.org> * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is removed. 2005-07-08 Daniel Berlin <dberlin@dberlin.org> * Make-lang.in: Add gt-cp-lang.h. (cp-lang.o): Ditto. * class.c (create_vtable_ptr): Stop setting DECL_ASSEMBLER_NAME on the field. * config-lang.in: Add cp-lang.c to gtfiles. * cp-lang.c: Include hashtab.h. (cp_init_ts): New function. (LANG_HOOK_INIT_TS): Use macro. (decl_shadowed_for_var_lookup): New function. (decl_shadowed_for_var_insert): Ditto. * cp-tree.h (THUNK_FUNCTION_CHECK): Use decl_common. (NON_THUNK_FUNCTION_CHECK): Ditto. (DECL_NAMESPACE_ASSOCIATIONS): Use decl_non_common. (DECL_INIT_PRIORITY): Ditto. (DECL_HAS_SHADOWED_FOR_VAR_P): Ditto. (DECL_SHADOWED_FOR_VAR): Use hashtable. (SET_DECL_SHADOWED_FOR_VAR): Ditto. * decl.c (duplicate_decls): Update for new/updated structures. (poplevel): Use SET_DECL_SHADOWED_FOR_VAR. * decl2.c (start_static_initialization_or_destruction): Deal with priority. * pt.c (tsubst_decl): Check TS_DECL_WRTL before doing SET_DECL_RTL. * tree.c (handle_init_priority_attribute): Handle priority. 2005-07-08 Daniel Berlin <dberlin@dberlin.org> * objc-act.c (objc_push_parm): DECL_ARG_TYPE_AS_WRITTEN is removed. * objc-act.h (KEYWORD_ARG_NAME): Use decl_non_common. (KEYWORD_KEY_NAME): Use decl_minimal. (METHOD_SEL_NAME): Ditto.. (METHOD_SEL_ARGS): Use decl_non_common. (METHOD_ADD_ARGS): Ditto. (METHOD_ADD_ARGS_ELLIPSIS_P): Use decl_common. (METHOD_DEFINITION): Ditto. (METHOD_ENCODING): Ditto. * objc-lang.c: (objc_init_ts): New function. 2005-07-08 Daniel Berlin <dberlin@dberlin.org> * trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN is removed. From-SVN: r101799
2005-07-05Makefile.in: Adjust dependencies.Paolo Bonzini1-1/+1
2005-07-05 Paolo Bonzini <bonzini@gnu.org> * Makefile.in: Adjust dependencies. * tree-pass.h: Add new passes and passes formerly in tree-optimize.c. * basic-block.h (duplicate_computed_gotos): Remove, it is now static. * alias.c (rest_of_handle_cfg, pass_cfg): New. * bb-reorder.c (duplicate_computed_gotos): Make it static. * cfgexpand.c (tree_expand_cfg): Add code formerly at the beginning of rest_of_compilation. * bb-reorder.c (gate_duplicate_computed_gotos, pass_duplicate_computed_gotos, gate_handle_reorder_blocks, rest_of_handle_reorder_blocks, pass_reorder_blocks, gate_handle_partition_blocks, rest_of_handle_partition_blocks, pass_partition_blocks): New. * bt-load.c (gate_handle_branch_target_load_optimize, rest_of_handle_branch_target_load_optimize, pass_branch_target_load_optimize): New. * cfgcleanup.c (rest_of_handle_jump, pass_jump, rest_of_handle_jump2, pass_jump2): New. * cfglayout.c (pass_insn_locators_initialize): New. * cfgrtl.c (pass_free_cfg): New. * combine.c (gate_handle_combine, rest_of_handle_combine, pass_combine): New. * cse.c (gate_handle_cse, rest_of_handle_cse, pass_cse, gate_handle_cse2, rest_of_handle_cse2, pass_cse2): New. * emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes): New. * except.c (pass_set_nothrow_function_flags, pass_convert_to_eh_region_ranges, gate_handle_eh, rest_of_handle_eh, pass_rtl_eh): New. * final.c (pass_compute_alignments, rest_of_handle_final, pass_final, rest_of_handle_shorten_branches, pass_shorten_branches, rest_of_clean_state, pass_clean_state): New. * flow.c (pass_recompute_reg_usage, gate_remove_death_notes, rest_of_handle_remove_death_notes, pass_remove_death_notes, rest_of_handle_life, pass_life, rest_of_handle_flow2, pass_flow2): New. * function.c (pass_instantiate_virtual_regs, pass_init_function, rest_of_handle_check_leaf_regs, pass_leaf_regs): New. * gcse.c (gate_handle_jump_bypass, rest_of_handle_jump_bypass, pass_jump_bypass, gate_handle_gcse, rest_of_handle_gcse, pass_gcse): New. * global.c (rest_of_handle_global_alloc, pass_global_alloc): New. * ifcvt.c (gate_handle_if_conversion, rest_of_handle_if_conversion, pass_rtl_ifcvt, gate_handle_if_after_combine, rest_of_handle_if_after_combine, pass_if_after_combine, gate_handle_if_after_reload, rest_of_handle_if_after_reload, pass_if_after_reload): New. * integrate.c (pass_initial_value_sets): New. * jump.c (pass_cleanup_barriers, purge_line_number_notes, pass_purge_lineno_notes): New. * mode-switching.c (rest_of_handle_mode_switching, pass_mode_switching): New. * local-alloc.c (rest_of_handle_local_alloc, pass_local_alloc): New. * loop-init.c (gate_handle_loop2, rest_of_handle_loop2, pass_loop2): New. * loop.c (gate_handle_loop_optimize, rest_of_handle_loop_optimize, pass_loop_optimize): New. * modulo-sched.c (gate_handle_sms, rest_of_handle_sms, pass_sms): New. * postreload-gcse.c (gate_handle_gcse2, rest_of_handle_gcse2, pass_gcse2): New. * postreload.c (gate_handle_postreload, rest_of_handle_postreload, pass_postreload_cse): New. * profile.c (gate_handle_profiling, pass_profiling, rest_of_handle_branch_prob, pass_branch_prob): New. * recog.c (pass pass_split_for_shorten_branches, gate_do_final_split, pass_split_before_regstack, gate_handle_split_before_regstack, gate_handle_peephole2, rest_of_handle_peephole2, pass_peephole2, rest_of_handle_split_all_insns, pass_split_all_insns): New. * reg-stack.c (gate_handle_stack_regs, rest_of_handle_stack_regs, pass_stack_regs): New. * regmove.c (gate_handle_regmove, rest_of_handle_regmove, pass_regmove, gate_handle_stack_adjustments, rest_of_handle_stack_adjustments, pass_stack_adjustments): New. * regrename.c (gate_handle_regrename, rest_of_handle_regrename, pass_regrename): New. * reorg.c (gate_handle_delay_slots, rest_of_handle_delay_slots, pass_delay_slots, gate_handle_machine_reorg, rest_of_handle_machine_reorg, pass_machine_reorg): New. * rtl.h (extern void purge_line_number_notes): New. * sched-rgn.c (gate_handle_sched, rest_of_handle_sched, gate_handle_sched2, rest_of_handle_sched2, pass_sched, pass_sched2): New. * tracer.c (gate_handle_tracer, rest_of_handle_tracer, pass_tracer): New. * value-prof.c (gate_handle_value_profile_transformations, rest_of_handle_value_profile_transformations, pass_value_profile_transformations): New. * var-tracking.c (gate_handle_var_tracking, pass_variable_tracking): New. * web.c (gate_handle_web, rest_of_handle_web, pass_web): New. * passes.c (open_dump_file, close_dump_file, rest_of_handle_final, rest_of_handle_delay_slots, rest_of_handle_stack_regs, rest_of_handle_variable_tracking, rest_of_handle_machine_reorg, rest_of_handle_old_regalloc, rest_of_handle_regrename, rest_of_handle_reorder_blocks, rest_of_handle_partition_blocks, rest_of_handle_sms, rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_gcse2, rest_of_handle_regmove, rest_of_handle_tracer, rest_of_handle_if_conversion, rest_of_handle_if_after_combine, rest_of_handle_if_after_reload, rest_of_handle_web, rest_of_handle_branch_prob, rest_of_handle_value_profile_transformations, rest_of_handle_cfg, rest_of_handle_jump_bypass, rest_of_handle_combine, rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2, rest_of_handle_gcse, rest_of_handle_loop_optimize, rest_of_handle_loop2, rest_of_handle_branch_target_load_optimize, rest_of_handle_mode_switching, rest_of_handle_jump, rest_of_handle_eh, rest_of_handle_stack_adjustments, rest_of_handle_flow2, rest_of_handle_jump2, rest_of_handle_peephole2, rest_of_handle_postreload, rest_of_handle_shorten_branches, rest_of_clean_state, rest_of_compilation): Remove. * cgraphunit.c (ipa_passes): Moved from tree-optimize.c. * passes.c (dump_flags, in_gimple_form, all_passes, all_ipa_passes, all_lowering_passes, register_one_dump_file, register_dump_files, next_pass_1, last_verified, execute_todo, execute_one_pass, execute_pass_list, execute_ipa_pass_list): Moved from tree-optimize.c. (init_optimization_passes): Moved from tree-optimize.c, adding the RTL optimizations. * tree-dump.h (dump_info_p, dump_flag): Moved from tree.h. * tree-optimize.c (dump_flags, in_gimple_form, all_passes, all_ipa_passes, all_lowering_passes, register_one_dump_file, register_dump_files, next_pass_1, last_verified, execute_todo, execute_one_pass, execute_pass_list, execute_ipa_pass_list, init_tree_optimization_passes, ipa_passes): Delete. * tree-pass.h (enum tree_dump_index): Moved from tree.h, removing the RTL dumps. (TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name): Moved from tree.h. (ipa_passes): Remove. (all_passes, all_ipa_passes, all_lowering_passes): Now extern. * tree.h (enum tree_dump_index, TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name): Moved to tree-pass.h. (dump_info_p, dump_flag): Moved to tree-dump.h. * Makefile.in: Adjust dependencies for tree-pretty-print.c, cgraph.c, opts.c. * passes.c (finish_optimization_passes): Use dump_begin and dump_end, TDI_end. (gate_rest_of_compilation): New. (pass_rest_of_compilation): Use it. (gate_postreload, pass_postreload): New. * toplev.c (general_init): Rename init_tree_optimization_passes. * toplev.h (init_tree_optimization_passes): Rename to init_optimizations_passes. * tree-dump.c (dump_flag): Make static. (dump_files): Remove RTL dumps. * tree-optimize.c (pass_all_optimizations, pass_early_local_passes, pass_cleanup_cfg, pass_free_cfg_annotations, pass_cleanup_cfg_post_optimizing, pass_free_datastructures, pass_init_datastructures, pass_fixup_cfg): Make non-static. * tree-pretty-print.c: Include tree-pass.h. * cgraph.c: Include tree-dump.h. cp: 2005-07-05 Paolo Bonzini <bonzini@gnu.org> * Makefile.in (class.o, decl2.o): Adjust dependencies. * class.c: Include tree-dump.h. * decl2.c: Include tree-dump.h. java: 2005-07-05 Paolo Bonzini <bonzini@gnu.org> * Makefile.in (parse.o): Adjust dependencies. * parse.y: Include tree-dump.h. From-SVN: r101627
2005-07-03bb-reorder.c, [...]: Avoid "." or "\n" at end of diagnostics and capital ↵Joseph Myers1-8/+14
letters at start of diagnostics. * bb-reorder.c, c-pch.c, c-pragma.c, c.opt, cfghooks.c, cfgloop.c, cfgrtl.c, cgraphunit.c, config/c4x/c4x.c, config/cris/cris.c, config/frv/frv.c, config/host-darwin.c, config/iq2000/iq2000.c, config/lynx.h, config/m68k/m68k.c, config/pa/pa.c, config/sh/sh.h, config/stormy16/stormy16.c, config/v850/v850.c, config/vax/netbsd-elf.h, coverage.c, dwarf2out.c, emit-rtl.c, except.c, gcc.c, tree-cfg.c, tree-eh.c, tree-ssa.c, xcoffout.c: Avoid "." or "\n" at end of diagnostics and capital letters at start of diagnostics. * combine.c, cse.c: Don't translate dump file output. * toplev.c (print_version): Only translate output if going to stderr. From-SVN: r101561
2005-07-02toplev.c (default_tree_printer): Handle setting location with '+' flag.Joseph Myers1-6/+9
2005-07-02 Zack Weinberg <zack@codesourcery.com> Joseph S. Myers <joseph@codesourcery.com> * toplev.c (default_tree_printer): Handle setting location with '+' flag. * c-objc.common.c (c_tree_printer): Likewise. * c-format.c (gcc_diag_flag_specs): Add '+'. (gcc_cdiag_char_table): Allow '+' flag for tree formats. (format_types_orig): Allow '+' flag for gcc_diag and gcc_cdiag formats. * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, config/arm/pe.c, config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c, config/sh/symbian.c, config/sol2.c, config/v850/v850.c, function.c, stor-layout.c, toplev.c, tree-inline.c, tree-optimize.c, tree.c, varasm.c: Use '+' flag instead of %J or %H. Use 'q' flag for quoting. Avoid '.' at end of diagnostics. Use %q+D not %s for a decl. Do not pass excess format arguments where %J is used without %D. cp: * error.c (location_of): Add comment. (locate_error, cp_error_at, cp_warning_at, cp_pedwarn_at): Remove. * cp-tree.h (cp_error_at, cp_warning_at, cp_pedwarn_at): Remove. * call.c, class.c, decl.c, decl2.c, friend.c, init.c, name-lookup.c, parser.c, pt.c, search.c, semantics.c, typeck.c, typeck2.c: Use '+' flag instead of %J, cp_error_at, cp_warning_at or cp_pedwarn_at. Mark up some diagnostic strings with N_. java: * class.c, decl.c, expr.c: Use '+' flag instead of %J. Use 'q' flag for quoting. objc: * objc-act.c: Use '+' flag instead of %J. Use 'q' flag for quoting. testsuite: * gcc.dg/format/gcc_diag-1.c: Update. From-SVN: r101532
2005-06-30pretty-print.h (PP_NL_ARGMAX): New.Zack Weinberg1-4/+9
gcc: * pretty-print.h (PP_NL_ARGMAX): New. (text_info): Add locus. (struct chunk_info): New. (output_buffer): Add formatted_obstack, chunk_obstack, and cur_chunk_array. Change obstack to a pointer. (pp_wrapping_mode_t, pp_wrapping_mode, pp_set_verbatim_wrapping): New. (struct pretty_print_info): Replace ideal_maximum_length and prefixing_rule with wrapping. (pp_line_cutoff, pp_prefixing_rule): Update to match. Update prototypes and wrapper macros throughout. * pretty-print.c (pp_formatted_text_data, pp_append_r) (pp_base_clear_output_area, pp_construct, pp_base_formatted_text) (pp_base_last_position_in_text, pp_base_newline, pp_base_character): Update for changes to pp structure. (pp_base_prepare_to_format, pp_base_format_text): Delete. (pp_base_format, pp_base_output_formatted_text): New functions. (pp_base_format_verbatim): Use pp_set_verbatim_wrapping. (pp_verbatim): Clear text.locus. (pp_printf): Likewise. Use pp_format and pp_output_formatted_text. * c-objc-common.c (c_tree_printer): Update function signature. * diagnostic.c (diagnostic_initialize): Update for changes to pp structure. (diagnostic_report_diagnostic): Call pp_format and then pp_output_formatted_text. (verbatim): Clear text.locus. * diagnostic.h (diagnostic_prefixing_rule, diagnostic_line_cutoff): Update for changes to pp structure. * c-lang.c: No need to include c-pretty-print.h. * Makefile.in: Remove bogus line containing only a tab. (c-lang.o): Update dependencies. * toplev.c (announce_function): Don't use verbatim. (default_tree_printer): Update signature. * objc/objc-lang.c: No need to include c-pretty-print.h. * objc/Make-lang.in: Update dependencies. gcc/cp: * cp-lang.c: No need to include cxx-pretty-print.h. * error.c (cp_printer): Update signature. No need to process flags. (print_instantiation_partial_context): Output last newline with pp_base_newline. * Make-lang.in: Update dependencies. gcc/objcp: * objcp-lang.c: No need to include cxx-pretty-print.h. * Make-lang.in: Update dependencies. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r101481
2005-06-29c-common.c (flag_next_runtime): Move...Ziemowit Laski1-0/+8
[gcc/ChangeLog] 2006-06-28 Ziemowit Laski <zlaski@apple.com> * c-common.c (flag_next_runtime): Move... * toplev.c (flag_next_runtime): ... here. * c-common.h (flag_next_runtime): Move... * flags.h (flag_next_runtime): ... here. * config/darwin-c.c: Include flags.h. * config/t-darwin (darwin-c.o): Depend on flags.h. From-SVN: r101415
2005-06-27toplev.c (process_options): Use if (FRAME_GROWS_DOWNWARD) instead of ↵Jakub Jelinek1-3/+1
preprocessor conditionals. * toplev.c (process_options): Use if (FRAME_GROWS_DOWNWARD) instead of preprocessor conditionals. From-SVN: r101350
2005-06-27c-cppbuiltin.c (c_cpp_builtins): Add __SSP_ALL__ and __SSP__.Richard Henderson1-0/+12
* c-cppbuiltin.c (c_cpp_builtins): Add __SSP_ALL__ and __SSP__. * cfgexpand.c: Include params.h. (has_protected_decls, has_short_buffer): New. (expand_stack_vars): Take a predicate to determine what to expand. (defer_stack_allocation): True when flag_stack_protect on. (SPCT_HAS_LARGE_CHAR_ARRAY, SPCT_HAS_SMALL_CHAR_ARRAY): New. (SPCT_HAS_ARRAY, SPCT_HAS_AGGREGATE): New. (stack_protect_classify_type, stack_protect_decl_phase): New. (stack_protect_decl_phase_1, stack_protect_decl_phase_2): New. (add_stack_protection_conflicts, create_stack_guard): New. (expand_used_vars): Add stack protection logic. (tree_expand_cfg): Likewise. * common.opt (Wstack-protector): New. (fstack-protector, fstack-protector-all): New. * function.c: Include predict.h. (assign_parm_adjust_stack_rtl): Zap stack_parm when stack protect wants to copy the parameter into the stack frame. (stack_protect_prologue, stack_protect_epilogue): New. (expand_function_end): Call stack_protect_epilogue. Do sjlj_emit_function_exit_after after naked_return_label. * function.h (struct function): Add stack_protect_guard. * params.def (PARAM_SSP_BUFFER_SIZE): New. * toplev.c (process_options): Disable flag_stack_protect and/or warn_stack_protect based on FRAME_GROWS_DOWNWARD. * tree.h (stack_protect_prologue): Declare. * target-def.h (TARGET_STACK_PROTECT_GUARD): New. (TARGET_STACK_PROTECT_FAIL): New. (TARGET_INITIALIZER): Add them. * target.h (struct gcc_target): Add stack_protect_guard and stack_protect_fail. * targhooks.c: Include ggc.h, gty header. (stack_chk_guard_decl, default_stack_protect_guard): New. (stack_chk_fail_decl, default_external_stack_protect_fail): New. (default_hidden_stack_protect_fail): New. * targhooks.h (default_stack_protect_guard): Declare. (default_external_stack_protect_fail): Declare. (default_hidden_stack_protect_fail): Declare. * config/i386/i386.c (TARGET_STACK_PROTECT_FAIL): New. * config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New. (trap): Use ud2. (conditional_trap, conditional_trap_1): Remove. (stack_protect_set, stack_protect_set_si, stack_protect_set_di): New. (stack_protect_test, stack_protect_test_si, stack_protect_test_di): New. * doc/md.texi (stack_protect_set, stack_protect_test): New. * doc/tm.texi (TARGET_STACK_PROTECT_GUARD): New. (TARGET_STACK_PROTECT_FAIL): New. * libgcc-std.ver (GCC_4.1.0): New. * libgcc.h (__stack_chk_guard): Declare. (__stack_chk_fail, __stack_chk_fail_local): Declare. * libgcc2.c (L_stack_chk, L_stack_chk_local): New. * mklibgcc.in (lib2funcs): Add them. From-SVN: r101348
2005-06-25Update FSF address.Kelley Cook1-2/+2
From-SVN: r101317
2005-06-04function.c (prologue, [...]): Change their types to VEC(int,heap)*.Kazu Hirata1-1/+0
* function.c (prologue, epilogue, sibcall_epilogue): Change their types to VEC(int,heap)*. (free_after_compilation): Free the three vectors above. (init_function_for_compilation, record_insns, contains, prologue_epilogue_contains, sibcall_epilogue_contains, reposition_prologue_and_epilogue_notes): Use VEC instead of VARRAY. (init_function_once): Remove. * function.h: Remove the prototype for init_function_once. * toplev.c (backend_init): Don't call init_function_once. From-SVN: r100588
2005-06-01system.h (TARGET_OPTIONS, [...]): Poison.Richard Sandiford1-278/+29
* system.h (TARGET_OPTIONS, TARGET_SWITCHES): Poison. * opts.h (print_filtered_help): Delete. * opts.c (handle_option, decode_options): Remove calls to set_target_switch. (print_target_help): New function. (common_option, print_help): Call print_target_help instead of display_target_options. (print_filtered_help): Make static. * toplev.h (display_target_options, set_target_switch): Delete. * toplev.c (target_switches, target_options, display_target_options) (set_target_switch): Delete. (print_switch_values): Remove handling of TARGET_SWITCHES and TARGET_OPTIONS. (default_get_pch_validity): Likewise. Only treat target_flags specially if targetm.check_pch_target_flags is nonnull. (pch_option_mismatch): New function. (default_pch_valid_p): Use it. Remove handling of TARGET_SWITCHES and TARGET_OPTIONS. Only treat target_flags specially if targetm.check_pch_target_flags is nonnull. * config/ia64/ia64.c (ia64_override_options): Don't mention TARGET_OPTIONS in comment. * config/m68k/m68k-none.h (CC1_SPEC): Likewise. * doc/invoke.texi: Remove a reference to TARGET_SWITCHES. * doc/tm.texi (TARGET_DEFAULT_TARGET_FLAGS): Don't mention the interaction with TARGET_SWITCHES. (TARGET_@var{featurename}, TARGET_SWITCHES, TARGET_OPTIONS): Delete. From-SVN: r100432
2005-06-01opts.h (cl_option_state): New structure.Richard Sandiford1-11/+40
* opts.h (cl_option_state): New structure. (get_option_state): Declare. * opts.c (get_option_state): New function. * toplev.c (option_affects_pch_p): New function. (default_get_pch_validity): Store the state of all options for which option_affects_pch_p returns true. (default_pch_valid_p): Check the state of those options here. Only check target_flags separately if targetm.check_pch_target_Flags is nonnull or if TARGET_SWITCHES is defined. From-SVN: r100430
2005-06-01c-objc-common.c (c_tree_printer): Check flag before hashtable.Daniel Berlin1-1/+1
2005-05-30 Daniel Berlin <dberlin@dberlin.org> * c-objc-common.c (c_tree_printer): Check flag before hashtable. Use DECL_DEBUG_EXPR and SET_DECL_DEBUG_EXPR. * dwarf2out.c (dwarf2out_var_location): Ditto. * toplev.c (default_tree_printer): Ditto. * tree-outof-ssa.c (create_temp): Ditto. * tree-sra.c (instantiate_element): Ditto. * var-tracking.c (track_expr_p): Ditto. * tree.c (struct tree_map): New structure. (debug_expr_for_decl): New. (tree_map_eq): New function. (tree_map_hash): Ditto. (tree_map_marked_p): Ditto. (print_debug_expr_statistics): Ditto. (decl_debug_expr_lookup): Ditto. (decl_debug_expr_insert): Ditto. (dump_tree_statistics): Dump debug_expr hashtable stats. * tree.h (DECL_DEBUG_EXPR): Change (SET_DECL_DEBUG_EXPR): Add. From-SVN: r100417
2005-05-31tm.texi (TARGET_GET_PCH_VALIDITY, [...]): Tweak the documentation to make it ↵Richard Sandiford1-4/+9
more future-proof. * doc/tm.texi (TARGET_GET_PCH_VALIDITY, TARGET_PCH_VALID_P): Tweak the documentation to make it more future-proof. (TARGET_CHECK_PCH_TARGET_FLAGS): Document this new hook. * target.h (gcc_target): Add check_pch_target_flags. * target-def.h (TARGET_CHECK_PCH_TARGET_FLAGS): New macro. (TARGET_INITIALIZER): Include it. * toplev.c (default_pch_valid_p): Use targetm.check_pch_target_flags. * config/sh/sh.h (sh_pch_valid_p): Delete. * config/sh/sh.c (TARGET_PCH_VALID_P, sh_pch_valid_p): Delete. (sh_check_pch_target_flags): New function. (TARGET_CHECK_PCH_TARGET_FLAGS): Override default. From-SVN: r100392
2005-05-24c-common.c (unsigned_conversion_warning): Move warning control from if() to ↵DJ Delorie1-5/+0
warning(OPT_*). * c-common.c (unsigned_conversion_warning): Move warning control from if() to warning(OPT_*). (c_common_truthvalue_conversion): Likewise. (c_do_switch_warnings): Likewise. * c-decl.c (diagnose_mismatched_decls): Likewise. (diagnose_mismatched_decls): Likewise. (define_label): Likewise. (grokdeclarator): Likewise. * c-format.c (check_format_info): Likewise. * c-lex.c (interpret_integer): Likwise. (lex_string): Likewise. * c-opts.c (c_common_post_options): Likewise. * c-parser.c (c_parser_unary_expression): Likewise. * c-pragma.c (handle_pragma_redefine_extname): Likewise. (handle_pragma_extern_prefix): Likewise. * c-typeck.c (build_binary_op): Likewise. * gcse.c (is_too_expensive): Likewise. * opts.c (decode_options): Likewise. * stor-layout.c (place_field): Likewise. * tree-cfg.c (remove_bb): Likewise. * c.opt (-Wreturn-type): Add Var(warn_return_type). * flags.h (warn_return_type): Remove. * toplev.c (warn_return_type): Likewise. From-SVN: r100135
2005-05-03c-decl.c (store_parm_decls_oldstyle): Let diagnostic machinery decide if the ↵DJ Delorie1-1/+1
warning will be printed. * c-decl.c (store_parm_decls_oldstyle): Let diagnostic machinery decide if the warning will be printed. * calls.c (expand_call): Likewise. * function.c (init-function_start): Likewise. * common.opt (-fdiagnostics-show-option): New. * opts.c (option_enabled): Accept the option index instead of a pointer to the option descriptor. * opts.h (option_enabled): Likewise. * toplev.c (print_switch_values): Pass option index, not option descriptor. * diagnostic.h (diagnostic_info): Add option_index. * diagnostic.c: Include opts.h. (diagnostic_set_info): Initialize option_index. (diagnostic_report_diagnostic): Amend option name if appropriate. (warning): Check to see if the specified warning is enabled. Store option index. * doc/invoke.texi (-fdiagnostics-show-options): Document. From-SVN: r99169
2005-04-26collect2.c, [...]: Replace calls to `unlock_stream' with `unlock_std_streams'.Kaveh R. Ghazi1-3/+1
* collect2.c, gcc.c, gcov-dump.c, gcov.c, gen-protos.c, gensupport.c, protoize.c, toplev.c: Replace calls to `unlock_stream' with `unlock_std_streams'. java: * gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls to `unlock_stream' with `unlock_std_streams'. From-SVN: r98753
2005-04-24collect2.c (main): Unlock the stdio streams.Kaveh R. Ghazi1-0/+5
* collect2.c (main): Unlock the stdio streams. * gcc.c (main): Likewise. * gcov-dump.c (main): Likewise. * gcov.c (main): Likewise. * gen-protos.c (main): Likewise. * gensupport.c (init_md_reader_args_cb): Likewise. * protoize.c (main): Likewise. * toplev.c (general_init): Likewise. java: * gjavah.c (main): Unlock the stdio streams. * jcf-dump.c (main): Likewise. * jv-scan.c (main): Likewise. * jvgenmain.c (main): Likewise. From-SVN: r98676
2005-04-23diagnostic.c (warning): Accept parameter to classify warning option.DJ Delorie1-22/+22
* diagnostic.c (warning): Accept parameter to classify warning option. (warning0): New, for when a pointer to an error() like function is needed. * errors.c (warning): Likewise. * errors.h (warning, warning0): Adjust prototypes. * toplev.h (warning, warning0): Likewise. * attribs.c, builtins.c, c-common.c, c-decl.c, c-format.c, c-gimplify.c, c-lex.c, c-objc-common.c, c-opts.c, c-parser.c, c-pragma.c, c-typeck.c, calls.c, cgraph.c, coverage.c, emit-rtl.c, fold-const.c, fortran/trans-decl.c, function.c, gcse.c, genautomata.c, haifa-sched.c, opts.c, passes.c, regclass.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c, tree-dump.c, tree-inline.c, tree-mudflap.c, tree-optimize.c, tree-ssa.c, tree.c, varasm.c: Adjust warning() callers. * config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c, config/c4x/c4x-c.c, config/c4x/c4x.c, config/cris/cris.c, config/darwin-c.c, config/darwin.c, config/darwin.h, config/h8300/h8300.c, config/i386/cygming.h, config/i386/djgpp.h, config/i386/i386.c, config/i386/winnt.c, config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.c, config/pa/pa-hpux11.h, config/pa/pa.c, config/rs6000/aix43.h, config/rs6000/aix51.h, config/rs6000/aix52.h, config/rs6000/darwin.h, config/rs6000/rs6000-c.c, config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c, config/sh/sh.h, config/sh/symbian.c, config/sol2-c.c, config/sol2.c, config/stormy16/stormy16.c, config/v850/v850-c.c, config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning() callers. * ada/misc.c: Adjust warning() callers. * cp/call.c, cp/class.c, cp/cvt.c, cp/decl.c, cp/decl2.c, cp/except.c, cp/friend.c, cp/init.c, cp/lex.c, cp/mangle.c, cp/method.c, cp/name-lookup.c, cp/parser.c, cp/repo.c, cp/rtti.c, cp/tree.c, cp/typeck.c, cp/typeck2.c: Adjust warning() callers. * fortran/trans-decl.c: Adjust warning() callers. * java/class.c, java/decl.c, java/expr.c, java/jcf-io.c, java/jcf-parse.c, java/jv-scan.c, java/parse.y: Adjust warning() callers. * objc/objc-act.c: Adjust warning() callers. * treelang/parse.y: Adjust warning() callers. From-SVN: r98633
2005-03-30[multiple changes]Jan Hubicka1-2/+2
2005-03-31 Jan Hubicka <jh@suse.cz> 2004-11-02 Jan Hubicka <jh@suse.cz> * cgraph.c (cgraph_varpool_node_name): New function. (dump_cgraph_varpool_node): New function. (dump_varpool): New function. * cgraphunit.c (cgraph_optimize): Dump varpool. 2004-10-16 Jan Hubicka <jh@suse.cz> * cgraph.c (decide_is_variable_needed): New function. (cgraph_varpool_finalize_decl): Use it. * cgraphunit.c (cgraph_optimize): Assemble_pending_decls when not doing unit-at-a-time. * final.c (output_addr_const): Do not call mark_referenced. * passes.c (rest_of_decl_compilation): ifdef out DECL_RTL_SET_P hack; always go via cgraph. * toplev.c (wrapup_global_declarations): Kill non-unit-at-a-time code. (check_global_declarations): Ifdef out code clearing DECL_RTL. * tree-optimize.c (execute_inline): Mark functions called. * i386.c (output_pic_addr_const): Do not call mark_decl_referenced. 2004-10-11 Jan Hubicka <jh@suse.cz> * cgraph.c (cgraph_varpool_first_unanalyzed_node): New global voriable (cgraph_varpool_last_needed_node): New static variable. (enqueue_needed_varpool_node): Break out from ...; add items to the end of queue; update first pointers. (cgraph_varpool_mark_needed_node): ... here. (cgraph_varpool_finalize_decl): Use enqueue_needed_varpool_node. (cgraph_varpool_assemble_pending_decls): Move to cgraphunit.c * cgraph.h (cgraph_varpool_node): Add analyzed field. (cgraph_varpool_first_unanalyzed_node): Declare. * cgraphunit.c: Include output.h. (cgraph_varpool_analyze_pending_decls): New function. (cgraph_varpool_assemble_pending_decls): Move from cgraph.c; bail out for errors, analyze pending decls. (cgraph_finalize_compilation_unit): Only analyze decls. (cgraph_optimize): Assemble the decls after expanding. From-SVN: r97287
2005-03-29re PR middle-end/20622 (Alias to nocommon variable fails to assemble on ppc64)Jakub Jelinek1-0/+2
PR middle-end/20622 * cgraph.h (struct cgraph_varpool_node): Add alias field. * cgraph.c (cgraph_varpool_assemble_pending_decls): Don't call assemble_variable on aliases. * varasm.c (assemble_alias): Set node->alias. * toplev.c (wrapup_global_declarations): Don't call rest_of_decl_compilation on aliases again. * gcc.dg/alias-7.c: New test. From-SVN: r97161
2005-03-29Makefile.in (value-prof.o): New dependencies on $(DIAGNOSTIC_H) $(TREE_H) ↵Dale Johannesen1-3/+0
and $(COVERAGE_H). * Makefile.in (value-prof.o): New dependencies on $(DIAGNOSTIC_H) $(TREE_H) and $(COVERAGE_H). * coverage.c (compute_checksum): Use DECL_NAME not DECL_ASSEMBLER_NAME. * opts.c (common_handle_option): Enable tree-based value transforms. * toplev.c (process_options): Ditto. * value-prof.h (struct histogram_value_t): Redefine. "Adjust" below refers to references to this type. * tree-flow.h: (struct stmt_ann_d): Add histograms field. * rtl-profile.c (rtl_gen_interval_profiler): Adjust. Remove checks for may_be_more, may_be_less. (rtl_gen_pow2_profiler): Adjust. (rtl_gen_one_value_profiler_no_edge_manip): Adjust. (rtl_gen_one_value_profiler): Adjust. (rtl_gen_const_delta_profiler): Adjust. * tree-profile.c (tree_gen_interval_profiler): Implement. (tree_gen_pow2_profiler): Ditto. (tree_gen_one_value_profiler): Ditto. (tree_profiling): New. (pass_tree_profile): Reference it. * value-prof.c: Include tree-flow.h, tree-flow-inline.h, diagnostic.h, tree.h, gcov-io.h. (insn_divmod_values_to_profile): Rename to rtl_divmod_values_to_profile. Adjust. (insn_values_to_profile): Rename to rtl_values_to_profile. Adjust. (insn_prefetch_values_to_profile): Adjust. (rtl_value_profile_transformations): Adjust. (gen_divmod_fixed_value): Rename to rtl_divmod_fixed_value. (gen_mod_pow2): Rename to rtl_mod_pow2. (gen_mod_subtract): Rename to rtl_mod_subtract. (divmod_fixed_value_transform): Rename to rtl_divmod_fixed_value_transform. (mod_pow2_value_transform): Rename to rtl_mod_pow2_value_transform. (mod_subtract_transform): Rename to rtl_mod_subtract_transform. (rtl_find_values_to_profile): Adjust. (tree_value_profile_transformations): Implement. (tree_divmod_values_to_profile): New. (tree_values_to_profile): New. (tree_divmod_fixed_value): New. (tree_mod_pow2): New. (tree_mod_subtract): New. (tree_divmod_fixed_value_transform): New. (tree_mod_pow2_value_transform): New. (tree_mod_subtract_transform): New. (tree_find_values_to_profile): Implement. * profile.c (instrument_values): Free histograms. (compute_value_histograms): Adjust. Implement tree version. From-SVN: r97156
2005-03-16re PR middle-end/15700 ([unit-at-a-time] Inlining problem leads to ↵Richard Henderson1-4/+1
miscompilation of glibc) PR middle-end/15700 * varasm.c (struct alias_pair): Rename from struct output_def_pair. (alias_pairs): Rename from output_defs. (find_decl_and_mark_needed): Split out from assemble_alias. (do_assemble_alias): New. (assemble_output_def): Remove. (finish_aliases_1, finish_aliases_2): New. (process_pending_assemble_output_defs): Remove. (assemble_alias): Defer aliases for which we don't yet have a non-external decl for the target symbol. * passes.c (rest_of_decl_compilation): Register variables with cgraph. * cgraphunit.c (cgraph_finalize_compilation_unit): Use finish_aliases_1. * toplev.c (compile_file): Use finish_aliases_2 instead of process_pending_assemble_output_defs. * tree.h (finish_aliases_1, finish_aliases_2): Declare. (process_pending_assemble_output_defs): Remove. * gcc.c-torture/compile/20040323-1.c: Don't xfail for solaris. (_rtld_global): New. * gcc.dg/weak/weak-3.c (ffoox1f, ffoox1g): Define. * gcc.dg/weak/weak-9.c (notf1, notf2, notf3, notf4): Define. * gcc.dg/alias-3.c: New. * gcc.dg/alias-4.c: New. * gcc.dg/alias-5.c: New. * gcc.dg/alias-6.c: New. From-SVN: r96564
2005-03-15toplev.c (display_target_options): Avoid unused variable warning if ↵Richard Sandiford1-1/+4
TARGET_SWITCHES and TARGET_OPTIONS are both... * toplev.c (display_target_options): Avoid unused variable warning if TARGET_SWITCHES and TARGET_OPTIONS are both undefined. * config/mips/mips.c (mips_arch_string, mips_tune_string): Make static. (mips_isa_string, mips_abi_string, mips_fix_vr4130_string): Delete. (mips_isa): Initialize to MIPS_ABI_DEFAULT. (mips_isa_info): New variable. (mips_parse_cpu): Remove the first argument and leave the caller to report errors. (TARGET_HANDLE_OPTION): Override default. (mips_handle_option): New function. Move option validation code from... (override_options): ...here. Update calls to mips_parse_cpu. * config/mips/mips.h (mips_arch_string, mips_tune_string) (mips_isa_string, mips_abi_string, TARGET_OPTIONS) (SUBTARGET_TARGET_OPTIONS): Delete. * config/mips/mips.opt (mabi=, march=, mflush-func=, mips) (mno-flush-func, mtune=): New options. From-SVN: r96536
2005-03-14config.gcc (extra_options): New variable for listing option files.Richard Sandiford1-23/+36
* config.gcc (extra_options): New variable for listing option files. Add ${cpu_type}/${cpu_type}.opt to it if that file exists. * configure.ac (extra_opt_files): New AC_SUBST variable. (tm_file_list, tm_include_list): Include options.h first. * configure: Regenerate. * Makefile.in (extra_opt_files, ALL_OPT_FILES): New variables. (s-options): Use $(ALL_OPT_FILES) instead of $(lang_opt_files) (s-options-h): New rule. (options.h): Depend on it. (TEXI_GCCINT_FILES): Add options.texi. * hooks.h (hook_bool_size_t_constcharptr_int_true): Declare. * hooks.c (hook_bool_size_t_constcharptr_int_true): New function. * target.h (gcc_target): Add default_target_flags and handle_option. * target-def.h (TARGET_DEFAULT_TARGET_FLAGS) (TARGET_HANDLE_OPTION): New macros. (TARGET_INITIALIZER): Include them. * opt-functions.awk (opt_args, nth_arg): New functions. (switch_flags): Handle the "Target" flag. (var_args): Delete. (var_name): Use opt_args and nth_arg. (var_set, var_ref): Likewise. Handle "Mask" and "InverseMask". * opth-gen.awk: Declare target_flags. Declare MASK_* and TARGET_* macros for the "Mask" and "InverseMask" options. * opts.h (cl_var_cond): New enum. (cl_option): Replace the "has_set_value" and "set_value" fields with "var_cond" and "var_value". (CL_TARGET): New macro. (option_enabled, print_filtered_help): Declare. (decode_options): Move definition. * opts.c (handle_option): Search for the original option before removing any "no-" prefix. Handle CL_TARGET. Adjust for the new var_cond and var_value fields. Use targetm.handle_option to handle target options. (decode_options): Set target_flags to targetm.default_target_flags. (print_filtered_help): Make global. Handle CL_TARGET. (option_enabled): New function. * toplev.c (target_switches): Guard with #ifdef TARGET_SWITCHES. (display_target_options, set_target_switch, print_switch_values) (default_pch_valid_p): Guard uses of target_switches with #ifdef TARGET_SWITCHES. Also... (display_target_options): Display the CL_TARGET entries in cl_options. (set_target_option): Don't complain about the "" option when TARGET_SWITCHES is undefined. (print_switch_values): Use option_enabled. (default_pch_valid_p): Check cl_options[] when looking for something that has changed the value of target_flags. * c.opt: Remove documentation from top of file. * doc/gccint.texi: Add an "Options" chapter. Include options.texi. * doc/sourecebuild.texi: Refer to the new options documentation instead of c.opt. Document machine-specific .opt files. * doc/tm.texi (target_flags): Say that this variable is declared by options.h. (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Document. (TARGET_SWITCHES, TARGET_OPTIONS): Refer to the option files as an alternative. * doc/options.texi: New file. From-SVN: r96448
2005-02-24re PR middle-end/18902 (Naive (default) complex division algorithm)Richard Henderson1-1/+5
PR middle-end/18902 * c-opts.c (c_common_post_options): Set flag_complex_method to 2 for c99. * common.opt (fcx-limited-range): New. * opts.c (set_fast_math_flags): Set flag_cx_limited_range. * toplev.c (flag_complex_method): Initialize to 1. (process_options): Set flag_complex_method to 0 if flag_cx_limited_range. * doc/invoke.texi (-fcx-limited-range): New. From-SVN: r95493
2005-02-22Fix FreeBSD __LDBL_MAX__ -pedantic -save-temps bug.James E Wilson1-2/+5
* toplev.c (backend_init): Don't call init_adjust_machine_modes here. (do_compile): Do call it here. From-SVN: r95432
2005-02-11tree-complex.c (expand_complex_libcall): New.Richard Henderson1-2/+2
* tree-complex.c (expand_complex_libcall): New. (expand_complex_multiplication): Use it for c99 compliance. (expand_complex_division): Likewise. * fold-const.c (fold_complex_add, fold_complex_mult): New. (fold): Call them. * builtins.c (built_in_names): Remove const. * tree.c (build_common_builtin_nodes): Build complex arithmetic builtins. * tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New. (BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New. (built_in_names): Remove const. * c-common.c (c_common_type_for_mode): Handle complex modes. * flags.h, toplev.c (flag_complex_method): Rename from flag_complex_divide_method. * libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3, __mulsc3, __muldc3, __mulxc3, __multc3): New. * libgcc2.h: Declare them. * libgcc-std.ver: Export them. * mklibgcc.in (lib2funcs): Build them. From-SVN: r94909
2005-01-27re PR c++/14329 ([4.1 only] badly formatted warnings for SRA replacements ↵Richard Henderson1-8/+21
used uninitialized) PR tree-opt/14329 * tree.h (struct tree_decl): Add debug_expr_is_from. (DECL_DEBUG_EXPR_IS_FROM): New. (DECL_DEBUG_EXPR): Rename from DECL_DEBUG_ALIAS_OF. * dwarf2out.c (dwarf2out_var_location): Update to match. * tree-outof-ssa.c (create_temp): Likewise. * var-tracking.c (track_expr_p): Likewise. * tree-sra.c (instantiate_element): Set DECL_DEBUG_EXPR. * c-objc-common.c (c_tree_printer) <'D'>: Handle DECL_DEBUG_EXPR. * toplev.c (default_tree_printer): Likewise. From-SVN: r94317
2005-01-24rtlanal.c (non_rtx_starting_operands, [...]): New.Paolo Bonzini1-0/+1
2005-01-24 Paolo Bonzini <bonzini@gnu.org> * rtlanal.c (non_rtx_starting_operands, for_each_rtx_1, init_rtlanal): New. (for_each_rtx): Call for_each_rtx_1. * rtl.h (init_rtlanal): Declare. * toplev.c (backend_init): Call init_rtlanal. From-SVN: r94146
2005-01-19* toplev.c (init_asm_output): Remove dead #ifdef.Tobias Schlüter1-5/+0
From-SVN: r93870
2005-01-18basic-block.h, [...]: Update copyright.Kazu Hirata1-1/+1
* basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c, c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c, combine.c, config.gcc, coverage.h, cse.c, cselib.c, defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c, flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c, gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h, output.h, postreload-gcse.c, postreload.c, recog.c, resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c, targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c, tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c, tree-optimize.c, tree-outof-ssa.c, tree-pass.h, tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c, tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def, unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright. From-SVN: r93827
2005-01-16re PR target/16304 (bootstrap failure on AIX 4.3.3: cannot build strstream ↵John David Anglin1-0/+3
in libstdc++) PR target/16304 * defaults.h (TARGET_DEFERRED_OUTPUT_DEFS): Provide default. * toplev.c (compile_file): Call process_pending_assemble_output_defs just before targetm.asm_out.file_end. * tree.h (process_pending_assemble_output_defs): Declare. * varasm.c (assemble_output_def, process_pending_assemble_output_defs): New functions. (assemble_alias): Defer generation of assembly code for defines when TARGET_DEFERRED_OUTPUT_DEFS is true. * config/rs6000/aix41.h (TARGET_DEFERRED_OUTPUT_DEFS): Define. * config/rs6000/aix43.h (TARGET_DEFERRED_OUTPUT_DEFS): Define. * doc/tm.texi (TARGET_DEFERRED_OUTPUT_DEFS): document. From-SVN: r93726
2005-01-04* toplev.c (get_src_pwd): Handle failure of getpwd().Geoffrey Keating1-1/+5
From-SVN: r92910
2004-12-18re PR middle-end/18897 (/usr/ccs/bin/ld: Unsatisfied symbols: putchar (first ↵Zack Weinberg1-0/+5
referenced in build/gengenrtl.o) (data)) PR 18897 * toplev.c (compile_file): Call process_pending_assemble_externals just before targetm.asm_out.file_end. From-SVN: r92347
2004-12-01re PR middle-end/18667 (ice with --parm integer-share-limit=0)Nathan Sidwell1-3/+3
PR middle-end/18667 * params.c (set_param_value): Add range check. * params.def: Add min and max values. Reformat long strings. * params.h (struct param_info): Add min and max fields. (enum compiler_param): Adjust DEFPARAM. * toplev.c (lang_independent_params): Likewise. From-SVN: r91567
2004-11-25re PR c++/18001 (Badly formatted error message (quotation problem))Mark Mitchell1-0/+7
PR c++/18001 * c-common.h (lvalue_use): Move here from c-ctypeck.c. (lvalue_or_else): Declare. * c-common.c (lvalue_or_else): Move here from c-typeck.c. * c-typeck.c (lvalue_use): Remove. (lvalue_or_else): Remove. PR c++/18556 * toplev.c (check_global_declarations): Set DECL_IGNORED_P on unemitted variables with static storage duration. PR c++/18445 * class.c (instantiate_type): Treat NON_DEPENDENT_EXPRs with unknown_type as non matching. Tidy up. * pt.c (build_non_dependent_expr): Do not build a NON_DEPENDENT_EXPR for a VAR_DECL. PR c++/18001 * cp-tree.h (lvalue_or_else): Remove declaration. * tree.c (lvalue_or_else): Remove. * typeck.c (build_unary_op): Adjust call to lvalue_or_else. (build_modify_expr): Likewise. PR c++/18625 * decl.c (duplicate_decls): Return error_mark_node on error, as specified. PR c++/18466 * decl.c (grokvardecl): Keep track of whether or not a there was explicit qualification. * name-lookup.c (set_decl_namespace): Complain about explicit qualification of a name within its own namespace. PR c++/18545 * typeck.c (check_return_expr): Robustify. PR c++/18445 * g++.dg/template/crash28.C: Likewise. PR c++/18001 * g++.dg/expr/unary2.C: Adjust lvalue messages. * g++.dg/ext/lvaddr.C: Likewise. * g++.dg/opt/pr7503-3.C: Likewise. PR c++/18466 * g++.dg/parse/qualified3.C: New test. * g++.old-deja/g++.other/friend7.C: Remove bogus qualification. PR c++/18545 * g++.dg/expr/return1.C: New test. From-SVN: r91301
2004-11-12re PR c++/18416 (ICE in import_export_decl)Mark Mitchell1-7/+0
PR c++/18416 * passes.c (rest_of_decl_compilation): Do not look at DECL_RTL when deciding whether to pass a variable to cgraph_varpool_finalize_decl or assemble_variable. * toplev.c (check_global_declarations): Do not clear DECL_RTL. PR c++/18416 * g++.dg/init/global1.C: New test. From-SVN: r90532
2004-11-11toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI.Richard Henderson1-14/+20
* toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI. (exact_log2): Rename from exact_log2_wide, use CTZ_HWI. * toplev.h (FL2T__): Remove. (CLZ_HWI): Rename from FL2T_CLZ__. (CTZ_HWI): New. (floor_log2): Simplify. (exact_log2): New. From-SVN: r90519
2004-11-02re PR debug/18242 (Dignostic for unsupported debug format is incorrect)Danny Smith1-1/+1
PR debug/18242 * toplev.c (debug_type[_names): Remove "dwarf-1". From-SVN: r89977
2004-10-15toplev.c (dump_file_name): Change type to be const.Andrew Pinski1-1/+1
2004-10-15 Andrew Pinski <pinskia@physics.uc.edu> * toplev.c (dump_file_name): Change type to be const. From-SVN: r89131
2004-10-13toplev.c (compile_file): Call mudflap_finish_file from here ...Frank Ch. Eigler1-0/+5
2004-10-13 Frank Ch. Eigler <fche@redhat.com> * toplev.c (compile_file): Call mudflap_finish_file from here ... * c-decl.c (c_write_global_declarations): ... instead of here ... * cp/decl.c (cp_finish_file): ... and here. * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message. From-SVN: r88995
2004-09-28common.opt (flag_gcse_sm): Disable by default.Steven Bosscher1-11/+1
* common.opt (flag_gcse_sm): Disable by default. (flag_gcse_las): Likewise. (flag_web): Likewise. Create from this file. * flags.h: Remove flag_web declaration. * toplev.c (flag_web): Likewise. (process_options): Never set flag_web. From-SVN: r88250
2004-09-15attribs.c, [...]: Use %<, %> and %q for quoting in diagnostics going through ↵Joseph Myers1-11/+12
pretty-print.c. gcc: * attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c, except.c, fold-const.c, function.c, langhooks.c, params.c, reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c, tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q for quoting in diagnostics going through pretty-print.c. Use '' for quoting in other diagnostic text. * langhooks.c: Include intl.h. Mark text locating diagnostics for translation. * Makefile.in (langhooks.o): Update dependencies. * pretty-print.h (pp_printf): Mark as accepting GCC diagnostic formats. gcc/testsuite: * g++.dg/ext/member-attr.C, g++.dg/warn/deprecated.C, gcc.dg/deprecated.c, gcc.dg/noreturn-1.c, gcc.dg/noreturn-4.c: Update expected messages. libmudflap: * testsuite/libmudflap.c/pass35-frag.c: Update expected message. From-SVN: r87563
2004-09-14unroll.c: Removed.Zdenek Dvorak1-19/+1
* unroll.c: Removed. * loop.h: Removed. * Makefile.in (LOOP_H, unroll.o): Removed. (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H dependency. * alias.c (init_alias_analysis): Remove flag_old_unroll_loops reference. * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h. * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed. * loop.c: Do not include loop.h. (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID, REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction, struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO, REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg, struct loop_regs, struct loop_movables, struct loop_info): Moved from loop.h. (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment, reg_dead_after_loop, final_biv_value, loop_find_equiv_value, find_common_reg_term, loop_iterations, final_giv_value): Moved from unroll.c. (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop, loop_dump_stream, for_each_insn_in_loop, express_from, extend_value_for_giv, loop_iv_add_mult_emit_before, loop_iv_add_mult_sink, loop_iv_add_mult_hoist, loop_insn_first_p, get_condition_for_loop, loop_insn_emit_before, loop_insn_hoist, loop_insn_sink): Made static. (loop_invariant_p): Made static. Removed flag_old_unroll_loops reference. (strength_reduce): Do not call unroller. (record_giv): Do not initialize unrolled field. (prescan_loop): Do not set loop_info->preconditioned. * passes.c: Do not include loop.h. (rest_of_handle_loop_optimize): Do not call unroller. * predict.c: Do not include loop.h. * rtl.h (NOTE_PRECONDITIONED): Removed. * stmt.c: Do not include loop.h. * toplev.c: Do not include loop.h. (process_options): Do not handle flag_old_unroll_loops. * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops): Documentation removed. * doc/passes.texi (unroll.c, loop.h): Documentation removed. From-SVN: r87485
2004-09-11profile.c (BB_TO_GCOV_INDEX): move more to the front.Jan Hubicka1-2/+0
* profile.c (BB_TO_GCOV_INDEX): move more to the front. (output_location): Break out from .... (branch_prob): ... here; handle gcov output on trees. * toplev.c (process_options): No longer be sorry about coverage for trees. From-SVN: r87364
2004-09-10dbxout.c (dbxout_block): Update for current_function_func_begin_label a string.Geoffrey Keating1-2/+2
* dbxout.c (dbxout_block): Update for current_function_func_begin_label a string. * dwarf2out.c (dwarf2out_begin_prologue): Likewise. * except.c (dw2_output_call_site_table): Likewise. * toplev.c (current_function_func_begin_label): Likewise. * tree.h (current_function_func_begin_label): Likewise. * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Likewise. From-SVN: r87317
2004-09-10toplev.c (warn_deprecated_use): Correct logic for saying "type" in diagnostic.Joseph Myers1-7/+10
* toplev.c (warn_deprecated_use): Correct logic for saying "type" in diagnostic. Don't dereference NULL TYPE_NAME. testsuite: * gcc.dg/deprecated-2.c: New test. From-SVN: r87289
2004-09-10cgraph.h (cgraph_dump_file): Do not declare.Paolo Bonzini1-1/+1
2004-09-10 Paolo Bonzini <bonzini@gnu.org> * cgraph.h (cgraph_dump_file): Do not declare. * cgraphunit.c (cgraph_dump_file): Declare as static. (init_cgraph): New. * toplev.c (cgraph_dump_file): Do not declare. (compile_file): Call init_cgraph. * tree-dump.c (dump_files): Add IPA dump file, remove XML dump of call graph. (get_dump_file_name): Support IPA dump file naming scheme. * tree.h (enum tree_dump_index): Add IPA dump file, remove XML dump of call graph. * doc/invoke.texi (Debugging Options): Document the new options. From-SVN: r87281
2004-09-09Makefile.def: Remove libbanshee.Daniel Berlin1-4/+0
Toplevel: 2004-09-09 Daniel Berlin <dberlin@dberlin.org> * Makefile.def: Remove libbanshee. * Makefile.tpl: Ditto. * configure.in: Ditto. * Makefile.in: Regen. * configure: Ditto. gcc/ 2004-09-09 Daniel Berlin <dberlin@dberlin.org> * Makefile.in: Remove libbanshee, tree-alias-*. Remove tree-alias-common.h dependencies. * common.opt: Remove -ftree-points-to. * configure.ac: Remove libbanshee. * flags.h: Remove pta_type, flag_tree_points_to. * gengtype.c (open_base_files): Remove tree-alias-type.h. * opts.c (OPT_ftree_points_to): Remove. * toplev.c: Remove tree-alias-common.h, flag_tree_points_to. * tree-dfa.c: Remove tree-alias-common.h * tree-into-ssa.c: Ditto. * tree-outof-ssa.c: Ditto. * tree-ssa-copyrename.c: Ditto. * tree-ssa-live.c: Ditto. * tree-optimize.c: Ditto. * tree-ssa.c: Ditto. Remove pass_build_pta, pass_del_pta. * tree-pass.h: Ditto. * tree-ssa-alias.c: Remove tree-alias-common.h. (struct alias_stats_d): Remove pta_queries, pta_resolved. (pass_may_alias): Remove PROP_pta requirement. (may_alias_p): Remove pta_queries, pta_resolved, use of andersens. (get_tmt_for): Ditto. (dump_alias_stats): Ditto. * doc/passes.texi: Remove blurb about points-to analysis. * fortran/Make-lang.in: Remove tree-alias-*.o. From-SVN: r87253