Commit Graph

1560 Commits

Author SHA1 Message Date
Alexandre Oliva ff3d4e83ed Makefile.in (stage1-start, [...]): Move $(SPECS) to specs in stage dir.
* Makefile.in (stage1-start, stage2-start, stage3-start,
stage4-start): Move $(SPECS) to specs in stage dir.
(unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
back as $(SPECS).

From-SVN: r65504
2003-04-12 09:00:27 +00:00
Geoffrey Keating df02618685 c-pch.c: Include flags.h.
* c-pch.c: Include flags.h.  Add comments to routines.
	(struct c_pch_validity): New.
	(get_ident): Update PCH file version number.
	(pch_init): Output current debugging type.
	(c_common_valid_pch): Check debugging type.
	* Makefile.in (c-pch.o): Update dependencies.
	* flags.h (debug_type_names): Declare.
	* toplev.c (debug_type_names): Move out of decode_g_option.

From-SVN: r65499
2003-04-12 01:58:33 +00:00
Nathan Sidwell 94de45d9fe Makefile.in (loop-init.o): Do not depend on gcov-io.h, gcov-iov.h.
* Makefile.in (loop-init.o): Do not depend on gcov-io.h,
	gcov-iov.h.

	Simplify interface to gcov reading and writing.
	* gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
	gcov_alloc, gcov_modified, gcov_errored): Move into ...
	(struct gcov_var gcov_var): ... this static structure.
	(gcov_write_unsigned, gcov_write_counter, gcov_write_string):
	Return void.
	(gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
	read object.
	(gcov_read_bytes, gcov_write_bytes): Set error flag on error.
	(gcov_reserve_length): Remove.
	(gcov_write_tag): New.
	(gcov_write_length): Adjust.
	(gcov_read_summary, gcov_write_summary): Adjust.
	(gcov_eof, gcov_ok): Rename to ...
	(gcov_is_eof, gcov_is_error): ... here. Return error code.
	(gcov_save_position, gcov_resync): Rename to ...
	(gcov_position, gcov_seek): ... here.
	(gcov_skip, gcov_skip_string): Remove.
	(gcov_error): Remove.
	(gcov_open, gcov_close): Adjust.
	* gcov.c (find_source): Take const char *, copy it on allocation.
	(read_graph_file): Adjust.
	(read_count_file): Adjust.
	* libgcov.c (gcov_exit): Adjust.
	* gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
	tag_arc_counts, tag_summary): Return void. Adjust.
	(struct tag_format): Adjust proc member.
	(dump_file): Adjust gcov calls.

From-SVN: r65464
2003-04-11 10:38:57 +00:00
Alexandre Oliva 7a615b2579 Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to mkfixinc.sh.
* Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
mkfixinc.sh.
* fixinc/mkfixinc.sh (defs): Add LIBERTY.
* configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
build != host sysrooted builds.
* configure.in (SYSTEM_HEADER_DIR): Make sure it contains
TARGET_SYSTEM_ROOT even on sysrooted natives.
* configure: Rebuilt.

From-SVN: r65462
2003-04-11 04:40:57 +00:00
Daniel Berlin 873ceaab3a Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
2003-04-05  Daniel Berlin  <dberlin@dberlin.org>

	* Makefile.in (df.o):  Depend on alloc-pool.h, not obstack.h.
	* df.c: Include alloc-pool.h, not obstack.h.
	(df_ref_obstack): Remove.
	(df_ref_pool, df_link_pool): Add pools.
	(df_alloc): Init the new pools.
	(df_free): And free them.
	(df_link_create): Use the pools.
	(df_ref_create): Ditto.

From-SVN: r65276
2003-04-05 20:13:20 +00:00
Jason Merrill 613fa1469c * Makefile.in (unstrap): Also remove stage_last.
From-SVN: r65209
2003-04-03 14:10:42 -05:00
Gabriel Dos Reis 78e68f88a5 Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
* Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
        (STRICT2_WARN): Likewise.

From-SVN: r65052
2003-03-30 20:31:51 +00:00
Zack Weinberg 62c9aa5f9e configure.in: Check whether it is necessary to link against libm to use ldexp.
* configure.in: Check whether it is necessary to link against
	libm to use ldexp.
	* configure: Regenerate.
	* Makefile.in: Add LDEXP_LIB substitution variable.
	* java/Make-lang.in: Link jcf-dump against $(LDEXP_LIB).

From-SVN: r64749
2003-03-23 20:13:58 +00:00
Zack Weinberg d9b2742a3d c-common.c: Include intl.h.
* c-common.c: Include intl.h.
	(shadow_warning): Rewrite to allow better diagnostic translations.
	* c-common.h: Update prototype of shadow_warning.  Declare sw_kind enum.
	* c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
	use it throughout.
	* Makefile.in (c-common.o): Add intl.h.
cp:
	* decl.c: Update calls to shadow_warning.
po:
	* gcc.pot: Regenerate.

From-SVN: r64699
2003-03-22 03:28:39 +00:00
Aldy Hernandez 91f07c9b57 Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
2003-03-15  Aldy Hernandez <aldyh@redhat.com>
	    Zack Weinberg  <zack@codesourcery.com>

	* Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
	* doc/libgcc.texi: New file.
	* doc/interface.texi: Delete paragraph about libgcc interface.
	* doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.

(oops, left out of previous checkout)

From-SVN: r64673
2003-03-21 17:20:54 +00:00
Loren J. Rittle 31260fb846 Makefile.in (STRICT2_WARN): Add @WERROR@.
* Makefile.in (STRICT2_WARN): Add @WERROR@.
        (GCC_WARN_CFLAGS): Remove $(WERROR).
        (fixinc.sh-warn): New.
        * ada/Make-lang.in (ada-warn): Add $(WERROR).
        * cp/Make-lang.in (cp-warn): Add $(WERROR).
        * f/Make-lang.in (f-warn): Add $(WERROR).
        * java/Make-lang.in (java-warn): Add $(WERROR).
        * treelang/Make-lang.in (treelang-warn): Add $(WERROR).

From-SVN: r64606
2003-03-20 03:11:25 +00:00
Geoffrey Keating 5ba6918ee8 Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
* Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.

	* gengtype.c: Include rtl.h.
	(enum rtx_code): Don't define.
	(rtx_format): Make declaration match rtl.h.
	(rtx_next_new): Rename from rtx_next to avoid conflict.  Change all
	users.
	(adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
	* Makefile.in (gengtype.o): Update dependencies.

From-SVN: r64554
2003-03-18 20:21:18 +00:00
Andreas Jaeger 30492adf69 * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
From-SVN: r64464
2003-03-17 06:47:53 +01:00
Neil Booth c1bad961ed Makefile.in: Update.
* Makefile.in: Update.
	* c-common.h (cb_register_builtins): Rename c_cpp_builtins.
	* c-lex.c (init_c_lex): Register builtins hook is dead.
	* c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
	(c_common_decode_option): Don't call cpp_handle_option.
	Handle -A, -D and -U.
	(handle_deferred_opts): Simplify.
	(finish_options): Define builtins and command line macros.
	* c-ppoutput.c (init_pp_output): Register builtins hook is dead.
	* cppinit.c: Don't include intl.h.
	(init_builtins): Rename cpp_init_builtins.  No hook to call.
	(init_library): Don't need to sort options.
	(cpp_create_reader): Don't set pending.
	(cpp_destroy): Don't free pending.
	(struct pending_option, cl_directive_handler, struct cpp_pending,
	APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
	cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
	cl_options, cpp_handle_option): Remove.
	* cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
	cpp_finish_options): Remove.
	(cpp_init_builtins): New.
	* fix-header.c (read_scan_file): Update to handle -D.  Fix
	handling of -I.  Replace call to cpp_finish_options.
cp:
	* Make-lang.in: Update.

From-SVN: r64398
2003-03-15 12:18:47 +00:00
Neil Booth 23345bbbcc /home/neil/diffs/include.log
From-SVN: r64373
2003-03-14 21:47:50 +00:00
Mike Stump c4775f821f ggc-page.c (struct page_entry): Remove varray.h header.
* ggc-page.c (struct page_entry): Remove varray.h header.
        Add index_by_depth field.
        Remove save_in_use_p field.
        (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
        by_depth_max, by_depth, and save_in_use fields.
        (INITIAL_PTE_COUNT): Add.
        (save_in_use_p_i): Add.
        (save_in_use_p): Add.
        (adjust_depth): Add.
        (move_ptes_to_front): Add.
        (push_depth): Add.
        (push_by_depth): Add.
        (prefetch): Add.
        (free_page): Add support for and use faster data structures.
        (ggc_alloc): Likewise.
        (init_ggc): Likewise.
        (ggc_recalculate_in_use_p): Likewise.
        (ggc_pop_context): Likewise.
        (clear_marks): Likewise.
        (ggc_pch_read): Likewise.
        * Makefile.in (ggc-page.o): Remove varray.h.

From-SVN: r64320
2003-03-13 20:19:03 +00:00
Ansgar Esztermann 1cff896449 Makefile.in (dojump.o): New target.
2003-03-13  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>

	* Makefile.in (dojump.o): New target.

	* dojump.c: New file.
	(init_pending_stack_adjust): Moved here from expr.c.
	(clear_pending_stack_adjust): Likewise.
	(do_pending_stack_adjust): Likewise.
	(jumpifnot): Likewise.
	(jumpif): Likewise.
	(do_jump): Likewise.
	(do_jump_by_parts_greater): Likewise.
	(do_jump_by_parts_greater_rtx): Likewise.
	(do_jump_by_parts_equality): Likewise.
	(do_jump_by_parts_equality_rtx): Likewise.
	(compare_from_rtx): Likewise.
	(do_compare_rtx_and_jump): Likewise.
	(do_compare_and_jump): Likewise.

	* expr.c (init_pending_stack_adjust): Removed to dojump.c.
	(clear_pending_stack_adjust): Likewise.
	(do_pending_stack_adjust): Likewise.
	(jumpifnot): Likewise.
	(jumpif): Likewise.
	(do_jump): Likewise.
	(do_jump_by_parts_greater): Likewise.
	(do_jump_by_parts_greater_rtx): Likewise.
	(do_jump_by_parts_equality): Likewise.
	(do_jump_by_parts_equality_rtx): Likewise.
	(compare_from_rtx): Likewise.
	(do_compare_rtx_and_jump): Likewise.
	(do_compare_and_jump): Likewise.
	(placeholder_list): Made declaration extern.

	* expr.h (placeholder_list): Declare.

From-SVN: r64309
2003-03-13 17:05:23 +01:00
Nathanael Nerode 73458fb759 Makefile.tpl: Move .NOEXPORT, MAKEOVERRIDES up.
(toplev)
	* Makefile.tpl: Move .NOEXPORT, MAKEOVERRIDES up.  Delete unused
	Make macro.
	* Makefile.in: Regenerate.
	* configure.in: Clean up gxx_include_dir logic.
	* configure: Regenerate.

(gcc)
	* Makefile.in: Eliminate all.indirect.  Update and clean up comments.
	Rearrange.  Reorganize.
	* configure.in: Rearrange.
	* configure: Regenerate.

From-SVN: r64260
2003-03-12 20:41:00 +00:00
Neil Booth e24c3d715a * Makefile.in: Fix typo.
From-SVN: r64190
2003-03-11 21:33:34 +00:00
Neil Booth cd6a500707 Makefile.in: Update.
* Makefile.in: Update.
	* c-cppbuiltin.c: Include tm_p.h.

From-SVN: r64187
2003-03-11 21:03:58 +00:00
Neil Booth cb60f38d5b Makefile.in: Update.
* Makefile.in: Update.
	* c-common.c: Don't include real.h or except.h.
	(REGISTER_PREFIX): Remove.
	(builtin_define_std, builtin_define_with_value,
	builtin_define_with_int_value, builtin_define_with_hex_fp_value,
	builtin_define_type_max, builtin_define_type_precision,
	builtin_define_float_constants): Move to c-cppbuiltin.c.
	(c_stddef_cpp_builtins): New.
	* c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
	* c-cppbuiltin.c: New, extracted from c-common.c.
	(define__GNUC__): New.
	* cppspec.c (lang_specific_driver): Remove support of -no-gcc.
	* gcc.c: Remove support of %v1, %v2 and %v3 specs.
	(cpp_unique_options): Don't support no-gcc.
	(do_spec_1): Remove support of version specs.
	* doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
	* doc/passes.texi: Update.
	* doc/tm.texi: Update.
cp:
	* Make-lang.in (CXX_C_OBJS): Update.
	* lang-specs.h: Don't define __GNUG__ here.

From-SVN: r64162
2003-03-11 06:42:21 +00:00
Jan Hubicka 988d165386 Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
* Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
	* gt-cgraph.h: New GC file.
	* cgraph.c (known_fns): New static variable.
	(cgraph_node): Add the decl into varray.

From-SVN: r63998
2003-03-08 18:24:22 +00:00
Geoffrey Keating 8643e92d0d c-pch.c: Include langhooks.h.
* c-pch.c: Include langhooks.h.
	(IDENT_LENGTH): New.
	(get_ident): New.
	(pch_ident): Delete.
	(pch_init): Use get_ident, IDENT_LENGTH.
	(c_common_valid_pch): Likewise.  Also, use actual language
	in warning message.
	* Makefile.in (c-pch.o): Add langhooks.h to dependencies.

	* objc/config-lang.in (gtfiles): Add objc-act.c.  Remove duplicate
	c-parse.in.
	* objc/Make-lang.in (objc/objc-act.o): Add dependency on
	gt-objc-objc-act.h.
	(gt-objc-objc-act.h): New rule.
	* objc/lang-specs.h: Support PCH.
	* objc/objc-act.c: Include gt-objc-objc-act.h.
	(objc_add_static_instance): Move num_static_inst out, mark for PCH.
	(build_selector_reference_decl): Move idx out, mark for PCH.
	(build_class_reference_decl): Likewise.
	(build_objc_string_decl): Move *_idx out, mark for PCH.
	(build_tmp_function_decl): Move xxx out, mark for PCH.

From-SVN: r63924
2003-03-07 01:20:52 +00:00
Neil Booth 9d10c9a9eb Makefile.in (c-ppoutput.o): Update.
* Makefile.in (c-ppoutput.o): Update.
	* c-common.h (init_pp_output): New.
	(preprocess_file): Update.
	* c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
	Register builtins.
	* c-opts.c (c_common_init): Call init_pp_output if preprocessing.
	Make call to cpp_read_main_file common to whether preprocessing
	or not.  Don't register builtins.
	* c-ppoutput.c: Include c-pragma.h.
	(setup_callbacks): Rename init_pp_output.
	(preprocess_file): No longer setup callbacks or call
	cpp_read_main_file.
	* cpphash.h (_cpp_init_mbchar): New.
	* cppinit.c (init_library): Call _cpp_init_mbchar.
	* cpplex.c (_cpp_init_mbchar): New.

From-SVN: r63913
2003-03-06 23:12:30 +00:00
Jan Hubicka b255a03659 Makefile.in (calls.o, [...]): Depend on cgraph.h
* Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
	* alias.c:  Include cgraph.h
	(mark_constant_function): Use cgraph_rtl_info.
	* calls.c:  Include cgraph.h
	(flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
	calls.
	(expand_call): Use cgraph_rtl_info to set preferred stack boundary.
	* cgraph.c (cgraph_rtl_info): New function.
	* cgraph.h (cgraph_rtl_info): Declare
	(cgraph_rtl_info): Likewise.
	* function.h (struct function): Add recursive_call_emit.
	* toplev.c: Include cgraph.h.
	(rest_of_compilation): Set preferred_incoming_stack_boundary.

	* gcc.dg/i386-local2.c: New.

From-SVN: r63868
2003-03-05 22:19:33 +00:00
Michael Matz 336d0d96d0 unwind.h: Add the GPL exception.
* unwind.h: Add the GPL exception.
        * Makefile.in (USER_H): Add unwind.h.

From-SVN: r63839
2003-03-05 13:04:30 +00:00
Tom Tromey 65ebbf8160 sourcebuild.texi (Front End Directory): Document tags.
* doc/sourcebuild.texi (Front End Directory): Document tags.
	* configure: Rebuilt.
	* configure.in (target_list): Added tags.
	* Makefile.in (TAGS): Depend on lang.clean.  Include subdirectory
	TAGS files by reference.
	* objc/Make-lang.in (objc.tags): New target.

From-SVN: r63808
2003-03-04 21:48:53 +00:00
Neil Booth 63973df350 Makefile.in: Update.
* Makefile.in: Update.
	* c-common.c (flag_no_line_commands, flag_no_output,
	flag_dump_macros, flag_dump_includes): New.
	* c-common.h (flag_no_line_commands, flag_no_output,
	flag_dump_macros, flag_dump_includes, preprocess_file): New.
	(init_c_lex): Update prototype.
	* c-lex.c (init_c_lex): Update prototype; move some code to
	c_common_init.
	* c-opts.c (preprocess_file): Subsume into c_common_init.
	(c_common_decode_option): Update flags.
	(c_common_init): Move code from preprocess_file and init_c_lex.
	(sanitize_cpp_opts): Update.
	* c-ppoutput.c: New, cppmain.c almost verbatim.
	* cpphash.h (struct printer): Remove.
	(struct cpp_reader): Remove print.
	* cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
	cpp_preprocess_file): Remove.
	(struct cpp_options): Remove no_output, no_line_commands, dump_macros
	and dump_includes.
	* cppmain.c: Remove.
	* doc/passes.texi: Update.

From-SVN: r63773
2003-03-04 07:00:39 +00:00
Neil Booth 5793b27668 Makefile.in (C_AND_OBJC_OBJS, [...]): Update.
* Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
	cppinit.o, cppdefault.o, fix-header): Update.
	* c-incpath.c: New file.
	* c-incpath.h: New file.
	* c-lex.c: Include c-incpath.h.
	(init_c_lex): Register path simplifier.
	* c-opts.c: Include cppdefault.h and c-incpath.h.
	(TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
	std_cxx_inc, quote_chain_split, add_prefixed_path): New.
	(COMMAND_LINE_OPTIONS): Add more options from cpplib.
	(missing_arg, c_common_decode_option): Handle them.
	(c_common_post_options): Register include chains.
	(print_help): Update.
	* cppdefault.h (struct default include): Update.
	Move some macros to ...
	* cppdefault.c: ... here.
	(cpp_include_defaults): Add extra field add_sysroot.
	* cppfiles.c (include_file, search_from, find_or_create_entry,
	cpp_included, find_include_file, remap_filename): Update for
	renaming of search_path to cpp_path, and of the chain headers.
	(remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
	* cpphash.h (struct search_path): Move to cpplib.h.
	(struct cpp_buffer, struct cpp_reader): Update.
	(_cpp_simplify_pathname): Remove.
	* cppinit.c: Don't include prefix.h and cppdefault.h.
	(INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
	remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
	init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
	no_pth, cpp_handle_options): Remove.
	(struct pending_option): Remove chain members.
	(cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
	cpp_handle_option): Update.
	* cpplib.h (struct cpp_path, cpp_set_include_chains): New.
	(struct cpp_options): Remove quote_include, bracket_include,
	include_prefix, include_prefix_len, verbose, ignore_srcdir,
	no_standard_includes, no_standard_cplusplus_includes.
	(struct cpp_callbacks): Add simplify_path.
	(cpp_handle_options): Remove.
	* fix-header.c: Include c-incpath.h.
	(read_scan_file): Update to use c-incpath functionality.
	* doc/passes.texi: Update.
cp:
	* Make-lang.in (CXX_C_OBJS): Update.

From-SVN: r63612
2003-03-01 14:31:21 +00:00
Jan Hubicka 0d446150c2 objc-act.c: Include cgraph.h
* objc-act.c: Include cgraph.h
	(mark_referenced_methods): New function.
	(objc_init): Call it.
	* objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.

	* c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
	mode.

	* optabs.c (expand_fix): Do not widen the input operand.

	* expr.c (emit_group_store):  Fix crash when converting single
	register into complex register.

	* Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
	* alias.c: Include timevar.h
	(init_alias_analysis):  Set timevar
	* jump.c: Include timevar.h
	(rebuild_jump_labels):  Set timevar
	* regcalss.c: Include timevar.h
	(reg_scan):  Set timevar
	* timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New

From-SVN: r63464
2003-02-26 11:09:33 +00:00
Zdenek Dvorak 9541e2e3d9 Remove -funroll-loops -fpeel-loops mistakenly added to BOOT_CFLAGS in my
last commit.

From-SVN: r63463
2003-02-26 10:49:54 +00:00
Zdenek Dvorak b17d5d7c3b cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
* cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.

	* Makefile.in (loop-unroll.o): New.
	* cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
	(unroll_and_peel_loops): Declare.
	* alias.c (init_alias_analysis): Flag_unroll_loops renamed to
	flag_old_unroll_loops.
	* loop.c (loop_invariant_p): Ditto.
	* unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
	flag_old_unroll_all_loops.
	* flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
	(flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
	* params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
	(PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
	PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
	PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
	PARAM_MAX_ONCE_PEELED_INSNS): New.
	* toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
	(flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
	instead of old one.
	(flag_peel_loops): New.
	(lang_independent_options): The new flags added.
	(rest_of_compilation): Call new unroller.
	(process_options): Setup flags for coexistence of old and new unroller.
	* doc/invoke.texi: Document new options.
	* doc/passes.texi: Document new unroller pass.

From-SVN: r63462
2003-02-26 10:48:36 +00:00
Jan Hubicka fa1a0d022c Makefile.in (lcm.o): Add dependency on function.h
* Makefile.in (lcm.o):  Add dependency on function.h
	* lcm.c (function.h): Include.
	* i386.c (machine_function, ix86_stack_locals,
	* ix86_save_varrargs_registers) : Move to
	...
	* i386.h (machine_function, ix86_stack_locals,
	ix86_save_varrargs_registers): ... here; add optimize_mode_switching
	(ix86_optimize_mode_switching): New.
	* i386.md (fix patterns): Set ix86_optimize_mode_switching

From-SVN: r63404
2003-02-25 11:39:20 +00:00
Jan Hubicka 1c4a429ab0 expmed.c (expand_divmod): Undo sign extensions for unsigned operands
* expmed.c (expand_divmod): Undo sign extensions for unsigned operands

	* cfgcleanup.c (try_forward_edges):  Don't check loop structures
	when not optimizing.
	(cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
	when not expensive.
	* toplev.c (rest_of_compilation):  Duplicate loop headers only when
	optimizing;  Delete trivially dead insns early; fix optimize check.

	* Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
	dependency on cgraph.h
	* c-decl.c: Include cgraph.h
	(finish_function): Update call of tree_inlinable_function_p.
	* c-objc-common.c: Include cgraph.h
	* cgraph.h: New file.
	* cgraphunit.c: New file.
	* cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
	(cgraph_nodes, cgraph_n_nodes): Globalize.
	(cgraph_finalize_function, cgraph_finalize_compilation_unit
	cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
	Move into cgraphunit.c
	* tree-inline.c: Include cgraph.h
	* tree-inline.c: Include cgraph.h

From-SVN: r63281
2003-02-22 10:02:31 +00:00
Kaveh R. Ghazi 9ac121af2a Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
* Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
	* doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
	documentation.
	* ggc-common.c: Include params.h
	(ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
	init_ggc_heuristics): New functions.
	* ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
	init_ggc_heuristics): Prototype.
	* toplev.c (print_version):  Output GGC heuristics.
	(parse_options_and_default_flags): Call init_ggc_heuristics.

From-SVN: r63268
2003-02-22 03:08:47 +00:00
Jan Hubicka 563a317a85 calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
* calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
	* function.c (assign_params): Likewise.
	* arm-protos.h (arm_init_cumulative_args): Update prototype.
	* arm.c (arm_init_cumulative_args): Update function.
	* arm.h (INIT_CUMULATIVE_ARGS): Update.
	* avr-protos.h (init_cumulative_args): Update prototype.
	* avr.c (init_cumulative_args): Update function.
	* avr.h (INIT_CUMULATIVE_ARGS): Update.
	* d30v-protos.h (d30v_init_cumulative_args): Update prototype.
	* d30v.c (d30v_init_cumulative_args): Update function.
	* d30v.h (INIT_CUMULATIVE_ARGS): Update.
	* frv-protos.h (frv_init_cumulative_args): Update prototype.
	* frv.c (frv_init_cumulative_args): Update function.
	* frv.h (INIT_CUMULATIVE_ARGS): Update.
	* mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
	* pa.h (INIT_CUMULATIVE_ARGS): Update.
	* sparc-protos.h (init_cumulative_args): Update prototype.
	* sparc.c (init_cumulative_args): Update function.
	* sparc.h (INIT_CUMULATIVE_ARGS): Update.
	* tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.

From-SVN: r63126
2003-02-19 18:03:11 +00:00
Andreas Schwab e5378e8dac Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
* Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
	* toplev.c: Include langhooks-def.h.

From-SVN: r63067
2003-02-18 23:32:28 +00:00
Richard Henderson 0b077eace8 Makefile.in (cfglayout.o): Depend on TARGET_H.
* Makefile.in (cfglayout.o): Depend on TARGET_H.
        * cfglayout.c: Include target.h.
        (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
        * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
        * target.h (struct gcc_target): Add cannot_copy_insn_p.

        * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
        (TARGET_CANNOT_COPY_INSN_P): New.
        (override_options): Revert 2003-02-08 hack.

From-SVN: r62955
2003-02-15 16:58:29 -08:00
Richard Henderson 5f24e0dcf6 cfgcleanup.c: Include params.h.
* cfgcleanup.c: Include params.h.
        (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
        too many outgoing edges from a block.
        * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
        * params.def (max-crossjump-edges): New.
        * doc/invoke.texi: Document it.

From-SVN: r62942
2003-02-15 13:06:16 -08:00
Daniel Jacobowitz 047d636f54 Makefile.in (PREPROCESSOR_DEFINES): Add @TARGET_SYSTEM_ROOT_DEFINE@.
* Makefile.in (PREPROCESSOR_DEFINES): Add
	@TARGET_SYSTEM_ROOT_DEFINE@.
	* configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
	is specified or if building a cross compiler.
	(TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
	if the sysroot is under $exec_prefix.
	* configure: Regenerated.
	* cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
	defined.
	(struct default_include): Add add_sysroot field.
	(cpp_SYSROOT): Declare.
	* cppdefault.c (cpp_include_defaults): Fill in add_sysroot
	field.
	(cpp_SYSROOT): New variable.
	* cppinit.c (cpp_create_reader): Initialize
	CPP_OPTION (pfile, sysroot).
	(init_standard_includes): Handle add_sysroot.  Do not
	add unrelocated copies of relocated directories.
	(COMMAND_LINE_OPTIONS): Add -isysroot.
	(cpp_handle_option): Handle -isysroot.
	* cpplib.h (struct cpp_options): Add sysroot member.
	* gcc.c (The Specs Language): Update description of %I.
	(target_system_root_changed): New variable.
	(process_command): Conditionalize make_relative_prefix call
	on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
	target_system_root_changed.
	(do_spec_1): Add -isysroot to %I.
	* doc/invoke.texi (Spec Files): Update description of %I.
	* doc/install.texi (--with-sysroot): Update comment about
	relocation.

From-SVN: r62853
2003-02-13 17:23:56 +00:00
Jan Hubicka e72fcfe8e4 Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
* Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
	(OBJS): Add callgraph.o
	(callgraph.o): New.
	* c-decl.c (expand_body_1): Break out from ...
	(expand_body): This one;  change calling convention
	(finish_function): Move some of expand_body logic here.
	(c_expand_deferred_function): Update call of expand_body
	(c_expand_stmt): Use c_expand_body_1.
	* c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
	* c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
	* c-tree.h (c_expand_body): Declare.
	* callgraph.c: New file.
	* flags.h (flag_unit_at_a_time): Declare.
	* langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
	LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
	LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
	* langhooks.h (struct lang_hooks_for_callgraph): New.
	(struct lang_hooks): Add callgraph field.
	* toplev.c (flag_unit_at_a_time): New.
	(lang_independent_options): Add flag_unit_at_a_time.
	(process_options): Disable unit-at-a-time mode for frontends not
	supporting callgraph.
	* tree-inline.c (typedef struct inline_data): Add "decl"
	(expand_call_inline): Update callgraph.
	(optimize_inline_calls): Set id.decl.
	* tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
	cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
	cgraph_calls_p): Declare.
	* invoke.texi (-funit-at-a-time): Document

From-SVN: r62789
2003-02-12 21:48:59 +00:00
Nathanael Nerode 76438597dd Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu which refers to obsolete...
* Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
	which refers to obsolete directories.

From-SVN: r62738
2003-02-11 22:24:40 +00:00
Josef Zlomek aa634f11e6 Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
* Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
	* bb-reorder.c (make_reorder_chain): Deleted.
	(make_reorder_chain_1): Deleted.
	(find_traces): New function.
	(rotate_loop): New function.
	(mark_bb_visited): New function.
	(find_traces_1_round): New function.
	(copy_bb): New function.
	(bb_to_key): New function.
	(better_edge_p): New function.
	(connect_traces): New function.
	(copy_bb_p): New function.
	(get_uncond_jump_length): New function.
	(reorder_basic_blocks): Use new functions (Software Trace Cache).
	* cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
	boundaries.

From-SVN: r62645
2003-02-10 19:18:42 +00:00
Josef Zlomek ac5e69da56 Makefile.in (sreal.o): Added.
* Makefile.in (sreal.o): Added.
	(predict.o): Depends on sreal.h instead of real.h.
	* sreal.c: New file.
	* sreal.h: New file.
	* predict.c: Use sreal.c instead of real.c.

From-SVN: r62630
2003-02-10 12:34:24 +00:00
Zdenek Dvorak 617b465c7f cfgloop.h (fix_loop_placement, [...]): Declare.
* cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
	duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
	Declare.
	(DLTHE_FLAG_UPDATE_FREQ): New.
	* cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
	loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
	rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
	fix_bb_placement, fix_bb_placements, place_new_loop,
	scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
	New static functions.
	(fix_loop_placement, can_duplicate_loop_p,
	duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
	New functions.

	* cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
	unswitch_loops): Declare.
	* loop-init.c: New file.
	* loop-unswitch.c: New file.
	* Makefile.in (loop-init.o, loop-unswitch.o): New.
	* params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
	* toplev.c (DFI_loop2): New dump.
	(flag_unswitch_loops): New.
	(lang_independent_options): Add it.
	(rest_of_compilation): Call new loop optimizer.
	(parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.

From-SVN: r62578
2003-02-08 14:29:00 +00:00
Geoffrey Keating 476d909872 Makefile.in (host_hook_obj): New.
* Makefile.in (host_hook_obj): New.
	(OBJS): Add $(host_hook_obj).
	(host_default.o): New rule.
	* config.gcc (host_hook_obj): New, default to host-default.o.
	(powerpc-*-darwin*): Use host-darwin.o.
	(out_host_hook_obj): New.
	* configure: Regenerate.
	* configure.in: Print information about out_host_hook_obj, substitute
	into output files.
	* host-default.c: New file.
	* hosthooks.h: New file.
	* toplev.c (general_init): Call host_hooks.extra_signals.
	* config/rs6000/host-darwin.c: New file.
	* config/rs6000/x-darwin: New file.
	* doc/hostconfig.texi: Add documentation for new host hook.
	Rearrange existing documentation.

From-SVN: r62470
2003-02-06 01:47:56 +00:00
Roger Sayle 69bd93682e dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR with *targetm.delegitimize_address.
* dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
	with *targetm.delegitimize_address.
	(rtl_for_decl_location): Likewise.
	* dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
	* Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)

	* config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
	* config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
	prototype.
	* config/i386/i386.c (ix86_delegitimize_address): Renamed from
	i386_simplify_dwarf_addr.  Made static.  Prototyped.
	(TARGET_DELEGITIMIZE_ADDRESS): Update definition from
	i386_simplify_dwarf_addr to ix86_delegitimize_address.
	(ix86_find_base_term): Likewise.
	(maybe_get_pool_constant): Likewise.

	* config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
	* config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
	prototype.
	* config/s390/s390.c (s390_delegitimize_address): Renamed from
	s390_simplify_dwarf_addr.  Made static.  Prototyped.
	(TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.

From-SVN: r62468
2003-02-06 01:23:41 +00:00
Roger Sayle 7daebb7ae4 hooks.c (hook_rtx_rtx_identity): Generic hook function that takes a single rtx and returns it unmodified.
* hooks.c (hook_rtx_rtx_identity): Generic hook function that
	takes a single rtx and returns it unmodified.
	* hooks.h (hook_rtx_rtx_identity): Prototype here.
	* target.h (struct gcc_target): Add "delegitimize_address"
	field to target structure.
	* target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
	for delegitimize_address target using hook_rtx_rtx_identity.
	(TARGET_INITIALIZER): Initialize delegitimize_address field
	using TARGET_DELEGITIMIZE_ADDRESS macro.
	* simplify-rtx.c (avoid_constant_pool_reference): Handle float
	extensions of constant pool references.  Use delegitimize_address
	to undo the obfuscation of "-fpic".
	* Makefile.in (simplify-rtx.o): Add dependency on target.h.

	* config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
	i386_simplify_dwarf_addr.
	(ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
  	(maybe_get_pool_constant): Likewise.

From-SVN: r62336
2003-02-03 19:40:58 +00:00
Richard Henderson 2928cd7aac [multiple changes]
2003-02-01  Richard Henderson  <rth@redhat.com>

	* optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
	* libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
	__popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
	return type to Wtype.

	* libgcc-std.ver (GCC_3.4): Fix inheritance.

	* config/i386/i386.md (ffssi2): Use nonimmediate_operand for
	expander input constraint.

2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>

        * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
        OTI_parity.
        (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
        * optabs.c (widen_clz, expand_parity): New.
        (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
        for libcalls to clz, ctz, popcount, and parity.
        (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
        parity_optab, and set up libfunc handlers.
        * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
        __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
        __popcount_tab): New.
        * libgcc2.h: Declare them.
        * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
        * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
        and parity_optab.
        * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
        * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
        BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
        BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
        BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
        BUILT_IN_PARITYLL): New.
        * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
        and add optab argument.
        (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
        * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
        * expr.c (expand_expr): Handle them.
        * fold-const.c (tree_expr_nonnegative_p): Likewise.
        * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
        * reload1.c (eliminate_regs): Handle them.
        (elimination_effects): Likewise.
        * function.c (instantiate_virtual_regs_1): Likewise
        * genattrtab.c (check_attr_value): Likewise.
        * simplify-rtx.c (simplify_unary_operation): Likewise.
        * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
        * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
        (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
        * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
        * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
        __builtin_arm_clz.
        * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
        * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
        * doc/extend.texi (Other Builtins): Add new builtins.
        * doc/md.texi (Standard Names): Add new patterns.

From-SVN: r62252
2003-02-01 11:00:02 -08:00
Geoffrey Keating f099d36039 Index: ChangeLog
2003-01-30  Geoffrey Keating  <geoffk@apple.com>

	* gengtype.c (struct walk_type_data): Add needs_cast_p.
	(walk_type): Set needs_cast_p in walk_type_data.
	(write_types_process_field): Supply casts when required to suppress
	warnings.
	(write_root): Cast gt_pch_n_S to suppress warning.
	* Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
	* cp/Make-lang.in: Remove -Wno-error from cp/decl.o.
	* config/rs6000/rs6000.c (print_operand): Mask off high bits only
	when they might exist.
	* config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
	insn-conditions.o, and rs6000.o.

Index: cp/ChangeLog
2003-01-30  Geoffrey Keating  <geoffk@apple.com>

	* cp/Make-lang.in: Remove -Wno-error from cp/decl.o.

From-SVN: r62170
2003-01-31 01:42:38 +00:00
Nick Clifton 2f12fb2b8b c-parse.o: Locate source file in $(parsedir) not $(srcdir).
From-SVN: r62073
2003-01-29 12:32:08 +00:00
Richard Henderson 3c50106f69 Makefile.in (cse.o): Depend on TARGET_H.
* Makefile.in (cse.o): Depend on TARGET_H.
	* cse.c (rtx_cost): Use targetm.rtx_costs.
	* system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
	* doc/tm.texi: Update.

	* target.h (targetm.rtx_costs): New.
	* target-def.h (TARGET_RTX_COSTS): New.
	* hooks.c (hook_bool_rtx_int_int_intp_false): New.
	* hooks.h: Update.

	* config/alpha/alpha.c (alpha_rtx_cost_data): New.
	(alpha_rtx_costs, TARGET_RTX_COSTS): New.
	* config/alpha/alpha.h (PROCESSOR_MAX): New.
	(CONST_COSTS, RTX_COSTS): Remove.

	* config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
	config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
	config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
	config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
	config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
	config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
	config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
	config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
	config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
	config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
	config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
	config/mn10200/mn10200.h, config/mn10300/mn10300.c,
	config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
	config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
	config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
	config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
	config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
	config/stormy16/stormy16.c, config/stormy16/stormy16.h,
	config/v850/v850.c, config/v850/v850.h,
	config/xtensa/xtensa.c, config/xtensa/xtensa.h
	(CONST_COSTS, RTX_COSTS): Move code ...
	(foo_rtx_costs, TARGET_RTX_COSTS): ... here.

	* config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
	(arm_rtx_costs, TARGET_RTX_COSTS): New.
	* config/arm/arm-protos.h: Update.
	* config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.

	* config/avr/avr.h (CONST_COSTS): Move code ...
	* config/avr/avr.c (avr_rtx_costs): ... here.
	(default_rtx_costs): Make static.
	* config/avr/avr-protos.h: Update.

	* config/h8300/h8300.c (const_costs): Make static.
	(h8300_and_costs, h8300_shift_costs): Likewise.
	* config/h8300/h8300-protos.h: Update.

	* config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
	(CONST_COSTS): Move code ...
	* config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
	default_rtx_costs; update for signature change.
	* config/ip2k/ip2k-protos.h: Update.

	* config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
	(CONST_COSTS): Move code ...
	* config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
	(TARGET_RTX_COSTS): New.
	(m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
	* config/m68hc11/m68hc11-protos.h: Update.

	* config/m68k/m68k.c (const_int_cost): Make static.
	* config/m68k/m68k-protos.h: Update.

	* config/mcore/mcore.c (mcore_const_costs): Make static.
	(mcore_and_cost, mcore_ior_cost): Likewise.
	* config/mcore/mcore-protos.h: Update.

	* config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
	(mmix_rtx_cost_recalculated): Remove.
	* config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
	* config/mmix/mmix-protos.h: Update.

	* config/sh/sh.c (shiftcosts): Make static.
	(addsubcosts, andcosts, multcosts): Likewise.
	* config/sh/sh-protos.h: Update.

	* config/sparc/sparc.c (TARGET_RTX_COSTS): New.
	(sparc_rtx_costs): Make static; update for change in signature.
	* config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
	* config/sparc/sparc-protos.h: Update.

	* config/v850/v850.c (const_costs): Make static.
	* config/v850/v850-protos.h: Update.

	* config/vax/vax.h (RTX_COSTS): Remove.
	(CONST_COSTS): Move code ...
	* config/vax/vax.c (vax_rtx_costs_1): ... here; rename
	from vax_rtx_cost.
	(vax_rtx_costs, TARGET_RTX_COSTS): New.

From-SVN: r61954
2003-01-27 20:46:33 -08:00
Nathan Sidwell 23af32e6ea Makefile.in (LIB2FUNCS_ST): Remove _gcov.
* Makefile.in (LIB2FUNCS_ST): Remove _gcov.
	(LIBGCOV): New variable.
	(libgcc.mk): Add LIBGCOV.
	(LIBGCC_DEPS): Add libgcov.c.
	(libgcov.a): New target.
	(clean): Remove libgcov.a.
	(install-libgcc): Do libgcov too.
	(stage1-start, stage2-start, stage3-start, stage4-start): Deal
	with libgcov.a.
	* libgcc2.c (L_gcov): Move into ...
	* libgcov.c: ... here. New file.
	* mklibgcc.in: Add libgcov rules.
	* gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.

	* doc/invoke.texi (profile-arcs, test-coverage): Update and
	clarify.

	* profile.c (index_counts_file): Remove duplicate check for open file.

From-SVN: r61905
2003-01-27 23:22:17 +00:00
Alexandre Oliva 88e83acbf9 Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
* Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
(DBBIT_FUNCS): Added _df_to_tf.
(TPBIT_FUNCS): New.
(libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
(LIBGCC_DEPS): Added TPBIT.
* mklibgcc.in: Support TPBIT and TPBIT_FUNCS.

From-SVN: r61832
2003-01-26 09:17:13 +00:00
Roger Sayle 9bb231fd7a stmt.c (emit_case_bit_tests): New routine to implement suitable switch statements using the equivalent of "if...
* stmt.c (emit_case_bit_tests): New routine to implement suitable
	switch statements using the equivalent of "if ((1<<x) & cst) ... ".
	(case_bit_test_cmp): New comparison function for "qsort" to order
	case_bit_tests by decreasing number of destination nodes.
	(lshift_cheap_p): New function to determine if "1 << x" is cheap.
	(expand_end_case_type): Use emit_case_bit_tests to implement
	suitable switch statments.
	(CASE_USE_BIT_TESTS): New target macro to disable the above.
	* Makefile.in (stmt.o): Add dependency on optab.h.
	* doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.

	* gcc.c-torture/execute/switch-1.c: New test case.

From-SVN: r61784
2003-01-25 17:30:29 +00:00
Jan Hubicka 26771da72f i386.c (ix86_expand_movstr, [...]): Consistently do libcall for large blocks.
* i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
	do libcall for large blocks.
	* i386.md (comi patterns): Set type to ssecomi.
	(sse2_unpck?pd): Fix mode of vec_select.

	* cse.c: Include except.h
	(cse_set_around_loop):  Do not create new basic blocks.
	* Makefile.in (cse.o): Add dependnecy on except.h

From-SVN: r61772
2003-01-25 15:00:51 +00:00
Zdenek Dvorak cd68f4e4c2 Makefile.in (cfgloop.o, [...]): Add dependencies on coretypes.h and $(TM_H).
* Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
	dependencies on coretypes.h and $(TM_H).

From-SVN: r61762
2003-01-25 10:16:10 +00:00
Zdenek Dvorak 3d436d2ac5 cfgloopanal.c: New file.
* cfgloopanal.c: New file.
	* cfgloopmanip.c: New file.
	* Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
	(toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
	cfglayout.o): Add dependency on cfgloop.h.
	(cfgloop.o): Add flags.h dependency.
	* basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
	(VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
	(struct loop, struct loops, flow_loops_find, flow_loops_update,
	flow_loops_free, flow_loops_dump, flow_loop_dump,
	flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
	LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
	LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
	flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
	loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
	find_common_loop, verify_loop_structure): Declarations moved to ...
	* cfgloop.h: New file.
	* bb-reorder.c (reorder_basic_blocks): Modified.
	* cfglayout.c: Include cfgloop.h.
	(cleanup_unconditional_jumps, cfg_layout_redirect_edge,
	cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
	(break_superblocks): New static function.
	(cfg_layout_finalize): Use it.
	(cfg_layout_split_block): New function.
	* cfglayout.h (struct reorder_block_def): Add copy and duplicated
	fields.
	(cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
	changed.
	(cfg_layout_split_block): Declare.
	* cfgloop.c: Include cfgloop.h and flags.h.
	(flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
	get_loop_body): Avoid signed versus unsigned comparison warnings.
	(make_forwarder_block, flow_loops_find, loop_preheader_edge,
	loop_latch_edge): Modified.
	(verify_loop_structure): Modified to use flags stored in loop structure;
	check irreducible loops.
	(cancel_loop, cancel_loop_tree): New functions.
	(estimate_probability): Use loop analysis code for predictions.
	(estimate_loops_at_level):  Avoid signed versus unsigned comparison
	warnings.
	* doloop.c: Include cfgloop.h.
	* loop.c: Include cfgloop.h.
	* predict.c: Include cfgloop.h.
	* toplev.c: Include cfgloop.h.
	* unroll.c: Include cfgloop.h.
	* tracer.c (tracer): Modified.

From-SVN: r61730
2003-01-24 20:27:02 +00:00
Kaveh R. Ghazi 38afe605ae Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
* Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
	(df.o): Delete duplicate dependency on coretypes.h $(TM_H).

From-SVN: r61586
2003-01-22 04:58:26 +00:00
Kaveh R. Ghazi dd859b8ac0 Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn) (gtype-desc.o-warn...
gcc:
	* Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
	(gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
	insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
	c-parse.o-warn): Add -Wno-error.
	(STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".

	* configure.in (--enable-werror): Add new flag.
	* doc/install.texi (--enable-werror): Document.
	* configure: Regenerate.

	* objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.

cp:
	Make-lang.in (cp/decl.o-warn): Add -Wno-error.

f:
	Make-lang.in (f/sta.o-warn): Add -Wno-error.

java:
	Make-lang.in (jvspec.o-warn): Add -Wno-error.

From-SVN: r61544
2003-01-21 13:45:16 +00:00
Alexandre Oliva 3bd6d4c458 config.gcc (mips64*-*-linux*): Added.
* config.gcc (mips64*-*-linux*): Added.
* config/mips/linux64.h, config/mips/t-linux64: New file.
* config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
* config/mips/mips.c (override_options): Use it.
* config/mips/mips.h (TARGET_SWITCHES): Added...
(SUBTARGET_TARGET_SWITCHES): New, empty by default.
* Makefile.in (SPECS): New.
(STAGESTUFF, specs, mostlyclean, install-common): Use it.
* gcc.c (process_command): Move self-spec processing past spec
file loading.
* doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
* doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
CRTSTUFF_T_CFLAGS.
(SPECS): Document.
* doc/invoke.texi (-mabi-fake-default): Document.

From-SVN: r61481
2003-01-19 13:04:24 +00:00
Kaveh R. Ghazi dd1b7476b1 decl2.c (check_classfn): Fix uninitialized warning.
cp:
	* decl2.c (check_classfn): Fix uninitialized warning.
	(build_anon_union_vars): Likewise.
	* pt.c (tsubst_copy): Likewise.

gcc:
	* genattr.c (main): Rearrange output to avoid prototype warning.
	* genautomata.c (transform_3): Fix ambiguous-else warning.
	* local-alloc.c (requires_inout): Add parentheses around
	assignment used as truth-value.
	* timevar.c: Move system includes above local includes.  Include
	toplev.h
	* Makefile.in (timevar.o): Depend on toplev.h.

From-SVN: r61308
2003-01-15 01:21:46 +00:00
Jan Hubicka 77f9af81d2 convert.c (strip_float_extensions): Look for narrowest type handling FP constants.
* convert.c (strip_float_extensions):  Look for narrowest type handling
	FP constants.

	* fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
	float1 CMP float2.
	* convert.c (strip_float_extensions): Make global.
	* tree.h (strip_float_extensions): Declare.

	* gcc.dg/i386-fpcvt-1.c: New test.
	* gcc.dg/i386-fpcvt-2.c: New test.

From-SVN: r61279
2003-01-14 13:03:47 +00:00
Andreas Schwab dcd1c2b8fe Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to $(parsedir), just move the temporary file at the end.
* Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
	$(parsedir), just move the temporary file at the end.
	($(parsedir)/gengtype-yacc.c): Likewise.

From-SVN: r61257
2003-01-13 20:37:28 +00:00
Geoffrey Keating 3859c32a55 Makefile.in (parsedir): New variable.
* Makefile.in (parsedir): New variable.
	(docobjdir): New variable.
	(c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
	gengtype-lex.c, gengtype-yacc.c): Use parsedir.
	(info, cpp.info, gcc.info, gccint.info, gccinstall.info,
	cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
	gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
	Use docobjdir.
	* objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
	objc.maintainer-clean): Use parsedir.

From-SVN: r61189
2003-01-11 02:18:37 +00:00
Geoffrey Keating 6dd05d08c4 Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
* Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
	(RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
	Remove calls.
	* mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.

From-SVN: r61171
2003-01-10 22:13:05 +00:00
Geoffrey Keating 17211ab553 Merge from pch-branch.
From-SVN: r61136
2003-01-10 02:22:34 +00:00
Josef Zlomek 4a69cf7914 Makefile.in (optabs.o): Add dependency on basic-block.h.
* Makefile.in (optabs.o): Add dependency on basic-block.h.
	* basic-block.h (control_flow_insn_p): Fuction was exported.
	* cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
	* optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
	notes only when the region is contained in a single basic block.

From-SVN: r61101
2003-01-09 11:47:35 +00:00
Andreas Jaeger 90961eff1b Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
* Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
	(install-gcc-tooldir, install-cpp, installdirs,
	install-common, install-driver, install-info, install-man,
	install-headers, install-include-dir, install-headers-tar,
	install-headers-cpio, install-headers-cp, install-mkheaders,
	install-collect2, uninstall): Prepend $(DESTDIR) to
	destination paths in all (un)installation commands.
	(install-driver): Rewrite $(LN) commands to support DESTDIR
	with "ln" as well as with "ln -s".
	(installdirs): Simply use mkinstalldirs.
	(install-libgcc, install-multilib): Also pass DESTDIR.
	* mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
	installation destination variable ldir.
	* config/alpha/t-osf4, config/arm/t-netbsd,
	config/ia64/t-hpux, config/mips/t-iris5-6,
	config/pa/t-hpux-shlib, config/rs6000/t-aix43,
	config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
	config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
	in the definition of SHLIB_INSTALL.
	* config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
	$(libsubdir) in the installation commands.

From-SVN: r61076
2003-01-09 09:00:41 +01:00
Josef Zlomek 56f15830d3 Makefile.in (PARTITION_H): New.
* Makefile.in (PARTITION_H): New.
	(BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
	* basic-block.h: Include hard-reg-set.h.

From-SVN: r61041
2003-01-08 13:12:56 +00:00
Daniel Berlin f6cb56fa00 cfg.c: Include alloc-pool.h
2003-01-07  Daniel Berlin  <dberlin@dberlin.org>

	* cfg.c: Include alloc-pool.h
	(edge_pool): New pool.
	(bb_pool): New pool.
	(first_deleted_edge): Remove.
	(first_deleted_block): Remove.
	(init_flow): Alloc/free the pools.
	(free_edge): Use pools.
	(alloc_block): Ditto.
	(expunge_block): Ditto.
	(cached_make_edge): Ditto.

	* Makefile.in (cfg.o): Add alloc-pool.h dependency.

2003-01-07  Daniel Berlin  <dberlin@dberlin.org>

	* et-forest.c: Include alloc-pool.h.
	(struct et_forest): Add node_pool and occur_pool.
	(et_forest_create): Create the new pools.
	(et_forest_delete): Delete them.
	(et_forest_add_node): Allocate and free using pools.
	(et_forest_add_edge): Ditto.
	(et_forest_remove_node): Ditto.
	(et_forest_remove_edge): Ditto.

	* Makefile.in (et-forest.o): Add alloc-pool.h dependency.

From-SVN: r61001
2003-01-07 17:05:16 +00:00
Kaveh R. Ghazi 83fa8d7a7f Makefile.in (gtyp-gen.h): Const-ify.
* Makefile.in (gtyp-gen.h): Const-ify.
	* gcov-dump.c (tag_table): Likewise.

From-SVN: r60898
2003-01-05 04:37:08 +00:00
Daniel Berlin 7f22efe1d6 Makefile.in (OBJS): Add alloc-pool.o
2002-12-18  Daniel Berlin  <dberlin@dberlin.org>

	* Makefile.in (OBJS): Add alloc-pool.o
	(alloc-pool.o): New object.

	* alloc-pool.c: New file.
	* alloc-pool.h: New file.

From-SVN: r60312
2002-12-19 15:53:46 +00:00
Loren J. Rittle 8483c7e022 * Makefile.in (gcov-iov.h): Improve portability.
From-SVN: r60190
2002-12-17 02:02:48 +00:00
Zack Weinberg 4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Andreas Schwab 523cb4994d Makefile.in (install-driver): Remove versioned link before trying to create it.
* Makefile.in (install-driver): Remove versioned link before
	trying to create it.

From-SVN: r59435
2002-11-24 20:43:02 +00:00
Hans-Peter Nilsson 414d23ae18 Makefile.in (RUN_GEN, [...]): New variables.
* Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
	(DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
	(executing gencheck, genconfigs, genconditions, genflags,
	gencodes, genconstants, genemit, genrecog, genopinit, genextract,
	genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
	gengtype, genprotos): Prepend $(RUN_GEN).
	* configure.in: Move host compiler tests before --enable-checking
	tests.
	(--enable-checking=valgrind): New.
	* config.in, configure: Regenerate.
	* cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
	Define as empty.
	(read_include_file): When doing the mmap+1 trick,
	valgrind-annotate the byte after the mmap:ed area as readable.
	(purge_cache): Remove above annotation.
	* gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
	VALGRIND_PATH -q to each command.

From-SVN: r59309
2002-11-20 19:49:53 +00:00
Zack Weinberg 3788cc1761 params.def (ggc-min-expand, [...]): New parameters.
* params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
	* doc/invoke.texi: Document them.

	* ggc-page.c: Include params.h.  Remove definitions of
	GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
	GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
	(init_gcc): Don't set G.allocated_last_gc here.
	(ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
	PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
	perform collection.
	* ggc-simple.c: Similarly.
	* Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
	dependencies.

From-SVN: r59034
2002-11-12 00:27:31 +00:00
Phil Edwards fc556cb99d Makefile.in (gnucompare*): Only record bad comparisons if there really was a bad comparison.
2002-10-29  Phil Edwards  <pme@gcc.gnu.org>

	* Makefile.in (gnucompare*):  Only record bad comparisons
	if there really was a bad comparison.

From-SVN: r58635
2002-10-29 21:37:13 +00:00
Zdenek Dvorak cc0017a983 Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
* Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
	* dwarf2out.c: Include hashtab.h.
	(is_main_source): New static variable.
	(attr_checksum, die_checksum): Modified to handle die references.
	(same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
	unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
	record_comdat_symbol_number): New static functions.
	(output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
	mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
	* toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
	declarations added.

From-SVN: r58578
2002-10-27 09:14:04 +00:00
Sebastian Pop 3df5d99ed9 dependence.c: Removed.
* dependence.c : Removed.
        * Makefile.in : Remove dependence.o.

From-SVN: r58307
2002-10-19 10:12:33 +00:00
Janis Johnson fa87045106 Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
2002-10-17  Janis Johnson  <janis187@us.ibm.com>

	* Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.

From-SVN: r58265
2002-10-18 00:15:26 +00:00
Jakub Jelinek c49d2df6cc gcc.c (set_multilib_dir): Don't access *end.
* gcc.c (set_multilib_dir): Don't access *end.
	Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
	(print_multilib_info): Don't show paths starting with ".:".
	* genmultilib: Add new option, "yes" if multilibs are enabled.
	Update comments.  If multilibs not enabled, print .:${osdirout}
	for each directory.  If multilibs are enabled, always print
	${dirout}:${osdirout}, even if the two are the same.
	* Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
	Pass all MULTILIB_* variables to genmultilib even if
	--disable-multilib but MULTILIB_OSDIRNAMES is not empty.

From-SVN: r57846
2002-10-05 20:55:54 +02:00
Jakub Jelinek 5bbcd587a2 gcc.c (print_multi_os_directory): New variable.
* gcc.c (print_multi_os_directory): New variable.
	(option_map): Support --print-multi-os-directory.
	(struct prefix_list): Add os_multilib field.
	(multilib_os_dir): New variable.
	(static_specs): Add multilib_options.
	(find_a_file): Add multilib argument.  Search in GCC or OS multilib
	subdirs if non-zero.
	(read_specs, execute): Update callers.
	(find_file): Likewise.  Don't prefix name with multilib_dir, instead
	pass 1 as multilib option.
	(display_help): Include --print-multi-os-directory.
	(add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
	(process_command): Update callers.  Handle --print-multi-os-directory.
	(do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
	set.
	(main): Update find_a_file and add_prefix callers.
	Handle print_multi_os_directory.
	(struct mdswitchstr): New.
	(mdswitches, n_mdswitches): New variables.
	(used_arg): Add MULTILIB_DEFAULT switches too if they are not
	present on the command line nor their mutually incompatible
	switches.
	(default_arg): Optimize.
	(set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
	array.
	(print_multilib_info): Only print GCC multilib dir name, not OS
	multilib dirname.
	* genmultilib: Add osdirnames parameter.  Output multilib_options
	variable.  If osdirnames is specified, output dirnames as
	dirname:osdirname.
	* mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
	and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
	to compute libgcc_s soname and install path.
	* Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
	SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
	(s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
	argument.

	* config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
	(SHLIB_SLIBDIR_SUFFIXES): Remove.
	* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
	ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
	(STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
	and -m64.
	* config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
	(SHLIB_SLIBDIR_SUFFIXES): Remove.
	* config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
	(STARTFILE_ARCH_SPEC): Remove.
	* config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
	(SHLIB_SLIBDIR_SUFFIXES): Remove.
	* config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
	* config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
	(SHLIB_SLIBDIR_SUFFIXES): Remove.

From-SVN: r57786
2002-10-03 22:35:14 +02:00
Janis Johnson 2d556baf13 Makefile.in (qmtest-g++): Fix file name.
2002-09-26  Janis Johnson  <janis187@us.ibm.com>

	* Makefile.in (qmtest-g++): Fix file name.

From-SVN: r57547
2002-09-26 19:29:29 +00:00
Geoffrey Keating 36a5eadd1a Index: gcc/ChangeLog
2002-09-12  Geoffrey Keating  <geoffk@apple.com>

	* ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
	mangling.

	The following changes are merged from pch-branch:

	* doc/gty.texi (GTY Options): Document %a.
	* gengtype.c (do_scalar_typedef): New function.
	(process_gc_options): Handle `length' option.
	(set_gc_used_type): A pointer to an array of structures doesn't
	qualify as a pointer to a structure.
	(output_escaped_param): Add `%a' escape.
	(write_gc_structure_fields): Allow 'desc' on array of unions.
	(main): Define `uint8', `jword' and `JCF_u2' as scalars; use
	do_scalar_typedef.

	* gengtype.c (enum rtx_code): Make global.
	(rtx_format): Make global.
	(rtx_next): New.
	(gen_rtx_next): New.
	(write_rtx_next): New.
	(adjust_field_rtx_def): Skip fields marked by chain_next.
	(open_base_files): Delete redundant prototype.
	(write_enum_defn): New.
	(output_mangled_typename): Correct abort call.
	(write_gc_marker_routine_for_structure): Handle chain_next and
	chain_prev options.
	(finish_root_table): Don't output redundant \n.
	(main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
	* c-tree.h (union lang_tree_node): Add chain_next option.

	* gengtype.h (NUM_PARAM): New definition.
	(struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
	* gengtype.c (find_param_structure): New.
	(adjust_field_type): Handle param<n>_is option.
	(process_gc_options): Detect use_params option.  Update callers.
	(set_gc_used_type): Add 'param' parameter, update callers.  Handle
	'use_params' option.
	(open_base_files): Add splay-tree.h to list of files included.
	(output_mangled_typename): New.
	(write_gc_structure_fields): Update 'param' parameter to support
	multiple parameters.  Change name mangling.  Allow parameterized
	fields to have an apparent scalar type.  Handle param<n>_is options,
	use_param option.
	(write_gc_marker_routine_for_structure): Update for change to name
	mangling.  Better guess the output file for parameterized types.
	(write_gc_types): Update for change to name mangling.
	(write_gc_root): Update for change to name mangling.  Handle (ignore)
	param<n>_is options.
	* doc/gty.texi (GTY Options): Add description of param<n>_is
	options, use_params option.
	* ggc.h (ggc_mark_rtx): Update for changed name mangling.
	* gengtype-lex.l: Produce token for param<n>_is.
	* gengtype-yacc.y: Parse param<n>_is.

	* gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.

	* rtl.c: Update comment describing rtx_format.
	* rtl.h (union rtunion): Separate definition and typedef.
	(struct rtx_def): Use gengtype to mark.
	* Makefile.in (gengtype.o): Also depend on rtl.def.
	* ggc.h (ggc_mark_rtx_children): Delete prototype.
	(ggc_mark_rtx): Change to alias of gengtype-generated routine.
	* ggc-common.c (ggc_mark_rtx_children): Delete.
	(ggc_mark_rtx_children_1): Delete.
	(gt_ggc_m_rtx_def): Delete.
	* gengtype.c (adjust_field_rtx_def): New.
	(adjust_field_type): Call adjust_field_rtx_def.
	(write_gc_structure_fields): Add 'default' case to switch if none
	is specified; remove unused code.

	* tree.h (struct tree_exp): Update for change to meaning
	of special.
	* gengtype.c (adjust_field_tree_exp): New function.
	(adjust_field_type): Handle `tree_exp' special here.
	(write_gc_structure_fields): Don't handle `tree_exp' special here.
	Handle new `dot' option.

	* gengtype.h: Make `info' a pointer-to-const.
	* gengtype-yacc.y (yacc_ids): Use xasprintf.

	* gengtype.c (write_gc_structure_fields): Remove implementation
	of `always' option, add `default' option.
	* doc/gty.texi (GTY Options): Remove documentation of `always',
	add `default'.

Index: gcc/cp/ChangeLog
2002-09-12  Geoffrey Keating  <geoffk@apple.com>

	* cp-tree.h (union lang_tree_node): Add chain_next option.

Index: gcc/f/ChangeLog
2002-09-12  Geoffrey Keating  <geoffk@apple.com>

	* com.c (union lang_tree_node): Add chain_next option.

Index: gcc/java/ChangeLog
2002-09-12  Geoffrey Keating  <geoffk@apple.com>

	* java-tree.h (union lang_tree_node): Add chain_next option.

From-SVN: r57206
2002-09-16 18:33:23 +00:00
Richard Henderson efdc7e19ca real.c, real.h: Rewrite from scratch.
gcc/
	* real.c, real.h: Rewrite from scratch.

	* Makefile.in (simplify-rtx.o): Depend on TREE_H.
	(paranoia): New target.
	* builtins.c (fold_builtin_inf): Use new real.h interface.
	* c-common.c (builtin_define_with_hex_fp_value): Likewise.
	* c-lex.c (interpret_float): Likewise.
	* emit-rtl.c (gen_lowpart_common): Likewise.
	* optabs.c (expand_float): Use real_2expN.
	* config/ia64/ia64.md (divsi3, udivsi3): Likewise.
	* defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
	(FLOAT_WORDS_BIG_ENDIAN): New.
	* cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
	directly to REAL_VALUE_NEGATIVE.
	* loop.c (canonicalize_condition): Likewise.
	* simplify-rtx.c: Include tree.h.
	(simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
	with floating-point result modes.
	* toplev.c (backend_init): Call init_real_once.

	* fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
	* tree.c (build_real): Likewise.
	* config/alpha/alpha.c, config/vax/vax.c (float_strings,
	float_values, inited_float_values, check_float_value): Remove.
	* config/alpha/alpha.h, config/m68hc11/m68hc11.h,
	config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
	* doc/tm.texi (CHECK_FLOAT_VALUE): Remove.

gcc/f/
	* target.c (ffetarget_real1): Don't pass FFETARGET_ATOF_
	directly to ffetarget_make_real1.
	(ffetarget_real2): Similarly.
	* target.h (ffetarget_cvt_r1_to_rv_, ffetarget_cvt_rv_to_r2_,
	ffetarget_cvt_r2_to_rv_): Use new real.h interface and simplify.

gcc/java/
	* jcf-parse.c (get_constant): Runtime check for IEEE format;
	use new real.h interface.
	* jcf-write.c (find_constant_index): Use new real.h interface.
	* lex.c (IS_ZERO): Use REAL_VALUES_EQUAL.

contrib/
	* paranoia.cc: New file.

From-SVN: r57198
2002-09-16 09:36:39 -07:00
Richard Henderson 907aee69e2 Makefile.in (toplev.o): Depend on real.h.
* Makefile.in (toplev.o): Depend on real.h.
        (print-rtl.o, varasm.o, ifcvt.o): Likewise.

From-SVN: r57123
2002-09-13 16:40:27 -07:00
Andreas Jaeger e0073fa817 * Makefile.in (print-rtl.o): Depend on CONFIG_H.
From-SVN: r57111
2002-09-13 19:19:55 +02:00
Richard Henderson 4d2d910c10 Makefile.in (HOST_PRINT): Use print-rtl1.o
* Makefile.in (HOST_PRINT): Use print-rtl1.o
        (print-rtl.o): Don't define GENERATOR_FILE.
        (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
        * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
        unless GENERATOR_FILE.

From-SVN: r57092
2002-09-12 23:28:21 -07:00
Zack Weinberg 3fd9d606f3 Makefile.in: Remove all references to s-under and underscore.c.
gcc:
	* Makefile.in: Remove all references to s-under and underscore.c.
	* collect2.c, tlink.c: Change all uses of prepends_underscore
	to look directly at USER_LABEL_PREFIX.

gcc/cp:
	* Make-lang.in: Build cp/cxxfilt.o from $(srcdir)/cp/cxxfilt.c,
	and c++filt from cxxfilt.o + version.o + $(LIBDEPS).
	* cxxfilt.c: New file: split from libiberty/cplus-dem.c, with
	minor adjustments (use version_string, eliminate yet another
	duplicate of xmalloc)

libiberty:
	* cplus-dem.c: Code code under #ifdef MAIN moved to gcc/cp/cxxfilt.c.
	* testsuite/Makefile.in: Adjust for test-demangle.
	* testsuite/regress-demangle: Deleted.
	* testsuite/test-demangle.c: New file.
	* testsuite/demangle-expected: Change \$ to $ throughout, now that
	this file is not being read by a shell script.

From-SVN: r57037
2002-09-11 19:58:02 +00:00
Janis Johnson 7c19f81682 Makefile.in (TEXI_GCC_FILES): Add compat.texi.
2002-09-03  Janis Johnson  <janis187@us.ibm.com>

	* Makefile.in (TEXI_GCC_FILES): Add compat.texi.
	* doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
	include its file, compat.texi.
	* doc/compat.texi: New file with new chapter, Binary Compatibility.

From-SVN: r56774
2002-09-03 22:47:41 +00:00
Richard Henderson d57a4b98c4 Makefile.in (USER_H): Add ginclude/float.h.
* Makefile.in (USER_H): Add ginclude/float.h.
        (FLOAT_H): Remove.
        (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
        (mostlyclean): Don't remove float.h intermediate files.
        (distclean): Don't remove float.h.
        * config.gcc: Remove all float_format references.
        * configure.in (float_format, float_h_file): Remove.

        * c-common.c: Include tree-inline.h.
        (builtin_define_with_int_value): New.
        (builtin_define_type_precision): Use it.
        (builtin_define_float_constants): New.
        (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
        __FLT_EVAL_METHOD__.
        * defaults.h (TARGET_FLT_EVAL_METHOD): New.
        * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
        * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
        * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
        (TARGET_FLT_EVAL_METHOD): New.

        * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
        config/float-i386.h, config/float-i64.h, config/float-m68k.h,
        config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
        * ginclude/float.h: New.

From-SVN: r56769
2002-09-03 13:21:35 -07:00
Richard Henderson 38ec83b17a c-objc-common.c: Include target.h.
* c-objc-common.c: Include target.h.
        (c_cannot_inline_tree_fn): Don't auto-inline functions that
        don't bind locally.  Factor setting DECL_UNINLINABLE.
        * Makefile.in (c-objc-common.o): Update.

From-SVN: r56691
2002-08-30 19:29:20 -07:00
Alexandre Oliva fde59d4bf4 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
From-SVN: r56503
2002-08-22 04:29:34 +00:00
Stan Shebs 27d3095635 tree.c (finish_vector_type): Fix a typo in a comment.
* tree.c (finish_vector_type): Fix a typo in a comment.
        * Makefile.in: Fix "the the" stutters in comments.
        * genautomata.c: Ditto.
        * ifcvt.c: Ditto.
        * regrename.c: Ditto.
        * config/alpha/alpha.c: Ditto.
        * config/alpha/vms-crt0-64.c: Ditto.
        * config/alpha/vms-crt0.c: Ditto.
        * config/alpha/vms-psxcrt0-64.c: Ditto.
        * config/alpha/vms-psxcrt0.c: Ditto.
        * config/d30v/d30v.h: Ditto.
        * config/fr30/fr30.h: Ditto.
        * config/rs6000/rs6000.c: Ditto.
        * config/stormy16/stormy16.h: Ditto.
        * doc/md.texi: Ditto.

From-SVN: r56496
2002-08-21 23:24:14 +00:00
Alexandre Oliva 3fcd079e3b Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
* Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
(stage2_build, stage3_build, stage4_build): Likewise, to CC.

From-SVN: r56447
2002-08-19 20:39:32 +00:00
Richard Henderson 204250d2fc Makefile.in (LOOSE_WARN): Remove -fno-common.
* Makefile.in (LOOSE_WARN): Remove -fno-common.
        (NOCOMMON_FLAG): New substitution point.
        (GCC_WARN_CFLAGS): Include it.
        * configure.in (ac_checking): Set nocommon_flag.
        (nocommon_flag): New substitution point.

From-SVN: r56362
2002-08-15 14:45:47 -07:00
Richard Henderson 236261548b calls.c: Include target.h.
* calls.c: Include target.h.
        * Makefile.in (calls.o): Update.

        * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
        * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.

From-SVN: r56335
2002-08-14 17:07:55 -07:00
Richard Henderson fd350d241f Makefile.in (LOOSE_WARN): Add -fno-common.
* Makefile.in (LOOSE_WARN): Add -fno-common.
        * c-common.h (constant_string_class_name): Add missing extern.

From-SVN: r56334
2002-08-14 17:00:56 -07:00