Commit Graph

249 Commits

Author SHA1 Message Date
Kaveh R. Ghazi
0d667716cb configure.ac (fixincludes_UNLOCKED_FUNCS): New.
fixincludes:
	* configure.ac (fixincludes_UNLOCKED_FUNCS): New.
	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for fixincludes_UNLOCKED_FUNCS.
	* system.h (putchar, getc, getchar, clearerr, feof, fileno,
	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
	_unlocked function.
	(fwrite_unlocked): Fix prototype.

	* configure, config.h.in: Regenerate.

gcc:
	PR/17092
	* configure.ac (gcc_UNLOCKED_FUNCS): New.
	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for gcc_UNLOCKED_FUNCS.
	* system.h (putchar, getc, getchar, clearerr, feof, fileno,
	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
	_unlocked function.
	(fwrite_unlocked): Fix prototype.

	* configure, config.in: Regenerate.

libcpp:
	* configure.ac (libcpp_UNLOCKED_FUNCS): New.
	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for libcpp_UNLOCKED_FUNCS.
	* system.h (putchar, getc, getchar, clearerr, feof, fileno,
	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
	_unlocked function.
	(fwrite_unlocked): Fix prototype.

	* configure, config.in: Regenerate.

From-SVN: r97986
2005-04-11 21:46:59 +00:00
Kaveh R. Ghazi
627aa08ae9 * system.h: Revert last change.
From-SVN: r97826
2005-04-08 11:23:32 +00:00
Kaveh R. Ghazi
d502f210b9 system.h: Poison PARAMS.
* system.h: Poison PARAMS.

java:
	* java-tree.h: Don't use PARAMS().

From-SVN: r97816
2005-04-08 01:02:59 +00:00
Paolo Bonzini
9e9126f355 system.h: Fix typo.
2005-04-05  Paolo Bonzini  <bonzini@gnu.org>

	* system.h: Fix typo.

From-SVN: r97624
2005-04-05 12:10:59 +00:00
Richard Sandiford
251e2ff23f system.h (GCOV_SIZE_TYPE): Unposion.
* system.h (GCOV_SIZE_TYPE): Unposion.
	* gcov-io.h (GCOV_TYPE_NODE): Delete, replacing with...
	(GCOV_TYPE_SIZE): ...this new macro.
	* coverage.h (get_gcov_type, GCOV_TYPE_NODE): Declare.
	* coverage.c (get_gcov_type, get_gcov_unsigned_t): New functions.
	(rtl_coverage_counter_ref): Use GCOV_TYPE_SIZE.
	(build_fn_info_type, build_fn_info_value, build_ctr_info_type)
	(build_ctr_info_value, build_gcov_info): Use get_gcov_unsigned_t
	instead of unsigned_intSI_type_node.
	* rtl-profile.c (rtl_gen_interval_profiler, rtl_gen_pow2_profiler)
	(rtl_gen_one_value_profiler_no_edge_manipulation)
	(rtl_gen_const_delta_profiler): Use GCOV_TYPE_SIZE.
	* value-prof.c: Include coverage.h.

From-SVN: r97570
2005-04-04 19:41:14 +00:00
Joseph Myers
d101034cd8 langhooks.h (truthvalue_conversion): Remove.
* langhooks.h (truthvalue_conversion): Remove.
	* langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
	LANG_HOOKS_TRUTHVALUE_CONVERSION.
	* system.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Poison.
	* gimplify.c (gimple_boolify): Don't use truthvalue_conversion.
	* c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.

ada:
	* misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.

cp:
	* cp-objcp-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.

fortran:
	* f95-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.

java:
	* lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.

treelang:
	* treetree.c (LANG_HOOKS_TRUTHVALUE_CONVERSION,
	tree_lang_truthvalue_conversion): Remove.
	* tree-convert.c: Don't call truthvalue_conversion.

From-SVN: r96947
2005-03-23 19:47:09 +00:00
Daniel Jacobowitz
57642751f5 tm.texi (LINK_LIBGCC_SPECIAL): Remove.
* doc/tm.texi (LINK_LIBGCC_SPECIAL): Remove.
	(LINK_LIBGCC_SPECIAL_1): Don't mention it.
	* gcc.c: Don't check for LINK_LIBGCC_SPECIAL.
	* system.h: Poison LINK_LIBGCC_SPECIAL.

From-SVN: r95476
2005-02-23 23:11:08 +00:00
Kazu Hirata
a4de48bc6c c-objc-common.h, [...]: Update copyright.
* c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c,
	genautomata.c, langhooks.c, langhooks.h, system.h,
	config/arm/lib1funcs.asm: Update copyright.

From-SVN: r95331
2005-02-21 14:39:52 +00:00
Zack Weinberg
c5ff069dc4 re PR middle-end/18785 (isdigit builtin function fails with EBCDIC character sets)
PR 18785
libcpp:
	* charset.c (LAST_POSSIBLY_BASIC_SOURCE_CHAR): New helper macro.
	(cpp_host_to_exec_charset): New function.
	* include/cpplib.h: Declare cpp_host_to_exec_charset.

gcc:
	* langhooks.h (struct lang_hooks): Add to_target_charset.
	* langhooks.c (lhd_to_target_charset): New function.
	* langhooks-def.h: Declare lhd_to_target_charset.
	(LANG_HOOKS_TO_TARGET_CHARSET): New macro.
	(LANG_HOOKS_INITIALIZER): Update.
	* c-common.c (c_common_to_target_charset): New function.
	* c-common.h: Declare it.
	* c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to
	c_common_to_target_charset.

	* defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0)
	(TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT):
	Delete definitions.
	* system.h: Poison them.
	* doc/tm.texi: Don't discuss them.
	* builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset.
	* c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char.
	(pp_c_char): Do not attempt to generate letter escapes for
	newline, tab, etc.
	* config/arm/arm.c (output_ascii_pseudo_op): Likewise.
	* config/mips/mips.c (mips_output_ascii): Likewise.
gcc/cp:
	* cp-objcp-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to
	c_common_to_target_charset.  Delete bogus comment.
gcc/testsuite:
	* gcc.dg/charset/builtin1.c: New test.

From-SVN: r95304
2005-02-20 17:01:32 +00:00
Richard Henderson
78a52f1158 target.h (targetm.calls.arg_partial_bytes): New.
* target.h (targetm.calls.arg_partial_bytes): New.
	* target-def.h (TARGET_ARG_PARTIAL_BYTES): New.
	* calls.c (store_unaligned_arguments_into_pseudos): Update for
	partial in bytes.
	(load_register_parameters): Likewise.
	(store_one_arg): Likewise.
	(initialize_argument_information): Use targetm.calls.arg_partial_bytes.
	(emit_library_call_value_1): Likewise.
	* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
	(emit_push_insn): Update for partial in bytes.
	* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
	* function.c (assign_parm_find_entry_rtl): Use
	targetm.calls.arg_partial_bytes.  Update for result in bytes.
	(locate_and_pad_parm): Update for partial in bytes.
	* system.h (FUNCTION_ARG_PARTIAL_NREGS): Poison.
	* targhooks.c (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): New.
	* targhooks.h (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Declare.
	* doc/tm.texi (TARGET_ARG_PARTIAL_BYTES): Rename and update from
	FUNCTION_ARG_PARTIAL_NREGS.

	* config/arc/arc.h, config/c4x/c4x.h, config/i386/i386.h,
	config/i860/i860.h, config/m68hc11/m68hc11.h, config/m68k/m68k.h,
	config/pdp11/pdp11.h, config/s390/s390.h, config/stormy16/stormy16.h,
	config/xtensa/xtensa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.

	* config/alpha/alpha.c (alpha_arg_partial_bytes): New.
	(TARGET_ARG_PARTIAL_BYTES): New.
	* config/alpha/alpha.h, config/alpha/unicosmk.h,
	config/alpha/vms.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.

	* config/arm/arm.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
	* config/arm/arm.c (arm_arg_partial_bytes): ... here.
	(TARGET_ARG_PARTIAL_BYTES): New.

	* config/cris/cris.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
	* config/cris/cris.c (cris_arg_partial_bytes): ... here.
	(TARGET_ARG_PARTIAL_BYTES): New.

	* config/fr30/fr30.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
	* config/fr30/fr30.c (fr30_arg_partial_bytes): Rename from
	fr30_function_arg_partial_nregs.  Adjust to return bytes.
	(TARGET_ARG_PARTIAL_BYTES): New.
	* config/fr30/fr30-protos.h: Update.

	* config/frv/frv.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
	* config/frv/frv.c (frv_arg_partial_bytes): Rename from
	frv_function_arg_partial_nregs.  Adjust to return bytes.
	(TARGET_ARG_PARTIAL_BYTES): New.
	* config/frv/frv-protos.h: Update.

	* config/ia64/ia64.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
	* config/ia64/ia64.c (ia64_arg_partial_bytes): Rename from
	ia64_function_arg_partial_nregs.  Adjust to return bytes.
	(TARGET_ARG_PARTIAL_BYTES): New.
	* config/ia64/ia64-protos.h: Update.

	* config/iq2000/iq2000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
	* config/iq2000/iq2000.c (iq2000_arg_partial_bytes): Rename from
	function_arg_partial_nregs.  Adjust to return bytes.
	(TARGET_ARG_PARTIAL_BYTES): New.
	* config/iq2000/iq2000-protos.h: Update.

	* config/m32r/m32r.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
	* config/m32r/m32r.c (m32r_arg_partial_bytes): Rename from
	function_arg_partial_nregs.  Adjust to return bytes.
	(TARGET_ARG_PARTIAL_BYTES): New.
	* config/m32r/m32r-protos.h: Update.

	* config/mcore/mcore.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
	* config/mcore/mcore.c (mcore_arg_partial_bytes): Rename from
	mcore_function_arg_partial_nregs.  Adjust to return bytes.
        (TARGET_ARG_PARTIAL_BYTES): New.
	* config/mcore/mcore-protos.h: Update.

	* config/mips/mips.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
	* config/mips/mips.c (mips_arg_partial_bytes): Rename from
	function_arg_partial_nregs.  Adjust to return bytes.
	(TARGET_ARG_PARTIAL_BYTES): New.
	* config/mips/mips-protos.h: Update.

	* config/mn10300/mn10300.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
	* config/mn10300/mn10300.c (mn10300_arg_partial_bytes): Rename from
	function_arg_partial_nregs.  Adjust to return bytes.
	(TARGET_ARG_PARTIAL_BYTES): New.
	* config/mn10300/mn10300-protos.h: Update.

	* config/ns32k/ns32k.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
	* config/ns32k/ns32k.c (ns32k_arg_partial_bytes): ... here.
	(TARGET_ARG_PARTIAL_BYTES): New.

	* config/pa/pa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
	* config/pa/pa.c (pa_arg_partial_bytes): Rename from
	function_arg_partial_nregs.  Handle 32-bit.  Adjust to return bytes.
	(TARGET_ARG_PARTIAL_BYTES): New.
	* config/pa/pa-protos.h: Update.

	* config/rs6000/rs6000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
	* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Rename from
	function_arg_partial_nregs.  Adjust to return bytes.
	(TARGET_ARG_PARTIAL_BYTES): New.
	* config/rs6000/rs6000-protos.h: Update.

	* config/sh/sh.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
	* config/sh/sh.c (sh_arg_partial_bytes): ... here.
	(TARGET_ARG_PARTIAL_BYTES): New.

	* config/sparc/sparc.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
	* config/sparc/sparc.c (sparc_arg_partial_bytes): Rename from
	function_arg_partial_nregs.  Adjust to return bytes.
        (TARGET_ARG_PARTIAL_BYTES): New.
	* config/sparc/sparc-protos.h: Update.

	* config/v850/v850.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
	* config/v850/v850.c (v850_arg_partial_bytes): Rename from
        function_arg_partial_nregs.  Adjust to return bytes.
        (TARGET_ARG_PARTIAL_BYTES): New.
	* config/v850/v850-protos.h: Update.

From-SVN: r92726
2004-12-29 19:08:18 -08:00
Nathan Sidwell
938802033e system.h (IN_RANGE): Restore HOST_WIDE_INT cast.
* system.h (IN_RANGE): Restore HOST_WIDE_INT cast.
	* tree.h (IS_EXPR_CODE_CLASS): Do not use IN_RANGE.

From-SVN: r92511
2004-12-22 22:06:35 +00:00
Nathan Sidwell
38b3627d6f system.c (IN_RANGE): Use plain unsigned, not unsigned HOST_WIDE_INT.
* system.c (IN_RANGE): Use plain unsigned, not unsigned
	HOST_WIDE_INT.
	* tree.def (VOID_TYPE, INTEGER_TYPE, REAL_TYPE, COMPLEX_TYPE,
	VECTOR_TYPE, OFFSET_TYPE, ENUMERAL_TYPE, BOOLEAN_TYPE, CHAR_TYPE,
	POINTER_TYPE, REFERENCE_TYPE, METHOD_TYPE, FUNCTION_TYPE,
	FILE_TYPE, ARRAY_TYPE, RECORD_TYPE, UNION_TYPE,
	QUAL_UNION_TYPE): Reorder for better code efficiency.
	(CONST_DECL, TYPE_DECL, VAR_DECL, FIELD_DECL, PARM_DECL): Likewise.
	(INDIRECT_REF, ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF): Likewise.
	* tree.h (INDIRECT_REF_P): Reorder checks for better optimization.
	(IS_EXPR_CODE_CLASS): Use IN_RANGE.
	(INTEGRAL_TYPE_P, FLOAT_TYPE_P): Reorder checks for better
	optimization.

	* cp/cp-tree.def (TEMPLATE_TYPE_PARM,
	BOUND_TEMPLATE_TEMPLATE_PARM, TYPE_OF_TYPE, TYPENAME_TYPE): Reorder
	for better code efficiency.
	* cp/cp-tree.h (CLASS_TYPE_P): Short circuit IS_AGGR_TYPE check.
	(CAN_HAVE_FULL_LANG_DECL_P): Reorder for better optimization.
	(INTEGRAL_CODE_P, CP_INTEGRAL_TYPE_P,
	INTEGRAL_OR_ENUMERATION_TYPE_P, SCALAR_TYPE_P,
	CP_AGGREGATE_TYPE_P, TYPE_PTROB_P, TYPE_REF_OBJ_P,
	TYPE_PTROBV_P): Likewise.

From-SVN: r92463
2004-12-21 17:43:27 +00:00
Mark Mitchell
57829bc4f0 defaults.h (ASM_OUTPUT_INTERNAL_LABEL): New macro.
* defaults.h (ASM_OUTPUT_INTERNAL_LABEL): New macro.
	* output.h (assemble_name_raw): Declare it.
	* system.h (ASM_OUTPUT_INTERNAL_LABEL): Do not poison it.
	* varasm.c (assemble_name_raw): New function.
	(assemble_name): Use it.
	(default_internal_label): Likewise.
	* config/darwin.c (darwin_asm_output_dwarf_delta): Likewise.
	* doc/tm.texi (ASM_OUTPUT_INTERNAL_LABEL): Document.

From-SVN: r92401
2004-12-20 02:08:57 +00:00
Steven Bosscher
6be85b25c2 cfgcleanup.c (outgoing_edges_match, [...]): Remove CASE_DROPS_THROUGH checks, it is never defined.
* cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge):
	Remove CASE_DROPS_THROUGH checks, it is never defined.
	* cfglyout.c (fixup_reorder_chain): Likewise.
	* cfgrtl.c (rtl_verify_flow_info): Likewise.
	* stmt.c (expand_case): Likewise.
	* cfgbuild.c (make_edges): Likewise.  Also remove force_fallthru,
	it is now always 0.
	* system.h (CASE_DROPS_THROUGH): Poison.
	* doc/md.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
	* doc/tm.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.

	* config/v850/v850.h: Remove commented out CASE_DROPS_THROUGH.

From-SVN: r91488
2004-11-29 20:46:14 +00:00
Eric Botcazou
033797e23c target.h (late_rtl_prologue_epilogue): Remove.
* target.h (late_rtl_prologue_epilogue): Remove.
	* target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.
	* system.h: Poison TARGET_LATE_RTL_PROLOGUE_EPILOGUE.
	* passes.c (rest_of_handle_prologue_epilogue): Remove and move
	remaining bits to...
	(rest_of_handle_flow2): ...here.
	(rest_of_compilation): Remove call to rest_of_handle_prologue_epilogue.
	* doc/tm.texi (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.

From-SVN: r91140
2004-11-24 08:39:34 +00:00
Zack Weinberg
6e14af161c function.h (struct function): Remove calls_longjmp.
* function.h (struct function): Remove calls_longjmp.
	(current_function_calls_longjmp): Delete.
	* tree.h (ECF_LONGJMP): Delete.
	(ECF_SIBCALL, ECF_PURE, ECF_SP_DEPRESSED, ECF_ALWAYS_RETURN)
	(ECF_LIBCALL_BLOCK): Everybody slide down one.
	(ECF_CONST, ECF_NORETURN, ECF_SIBCALL): Clarify comments.
	* builtins.c (expand_builtin_longjmp): Don't set
	current_function_calls_longjmp.
	* calls.c (special_function_p): Mark longjmp and siglongjmp
	with ECF_NORETURN, not ECF_LONGJMP.
	(emit_call_1, expand_call, emit_library_call_value_1):
	Don't check for ECF_LONGJMP.
	* tree-cfg.c (make_exit_edges, is_ctrl_altering_stmt)
	(need_fake_edge_p): Likewise.

	* config/avr/avr.h, config/ip2k/ip2k.h: Don't define NON_SAVING_SETJMP.
	* system.h: Poison NON_SAVING_SETJMP.
	* function.c (use_register_for_decl)
	* gcse.c (compute_hash_table_work, compute_store_table)
	* postreload-gcse.c (record_opr_changes)
	* reload.c (find_equiv_reg)
	* reload1.c (reload)
	* config/i386/i386.c (ix86_can_use_return_insn_p):
	Remove code conditional on NON_SAVING_SETJMP.
	* doc/tm.texi: Delete documentation of NON_SAVING_SETJMP.

	* config/i386/sysv3.h: Delete file.
	* config/i386/i386.c (ix86_svr3_asm_out_constructor): Delete.

From-SVN: r91101
2004-11-23 19:55:24 +00:00
Zack Weinberg
cf249358ea defaults.h, darwin.h: Don't define TARGET_SUPPORTS_HIDDEN.
* defaults.h, config/darwin.h: Don't define TARGET_SUPPORTS_HIDDEN.
	* system.h: Poison it.
	* doc/tm.texi: Delete its documentation.

From-SVN: r90840
2004-11-18 01:10:12 +00:00
Kazu Hirata
37bf6443fe sdbout.c (SDB_GENERATE_FAKE): Remove.
* sdbout.c (SDB_GENERATE_FAKE): Remove.
	(gen_fake_label): Don't use SDB_GENERATE_FAKE.
	* system.h: Poison SDB_GENERATE_FAKE.
	* doc/tm.texi (SDB_GENERATE_FAKE): Remove.

From-SVN: r90061
2004-11-04 13:23:23 +00:00
Zack Weinberg
93a27b7bad dbxout.c: Include obstack.h.
* dbxout.c: Include obstack.h.
	(ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
	default definition.
	(ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
	Default-define here.
	(DBX_CONTIN_LENGTH): Move definition with others.
	(DBX_FINISH_STABS): New target macro.
	(current_sym_code, current_sym_value, current_sym_addr)
	(current_sym_nchars, CHARS, dbxout_continue)
	(print_int_cst_octal, print_octal, print_wide_int)
	(dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
	(stabstr_ob, stabstr_last_contin_point): New variables.
	(NUMBER_FMT_LOOP): New improper macro.
	(dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
	(dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
	(dbxout_stab_value_internal_label_diff, dbxout_stabd)
	(dbxout_begin_stabn, dbxout_begin_stabn_sline)
	(dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
	(dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
	(stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
	(stabstr_continue, DECL_ACCESSIBILITY_CHAR)
	New functions and/or proper function-like macros.
	(CONTIN): Use stabstr_continue, unconditionally.
	(get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
	(dbxout_init): Initialize stabstr_ob.  Check
	NO_DBX_MAIN_SOURCE_DIRECTORY.  Only write out the Ltext label
	if it was used.  Use the new interfaces.
	(dbxout_source_file): Remove file argument; always write to
	asm_out_file.  Use the new interfaces.
	(dbxout_type_method_1): Remove second argument which is always
	DECL_ASSEMBLER_NAME of the first argument.  Use the new interfaces.
	(dbxout_type_methods): Remove write-only variables.  Use the
	new interfaces.
	(dbxout_parms): Refactor to remove code duplicated in each of
	several successive if-else-if blocks.  Use the new interfaces.
	(dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
	(dbxout_source_line, dbxout_finish, dbxout_type_index)
	(dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
	(dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
	(dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
	(dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
	Use the new interfaces.
	* Makefile.in (dbxout.o): Update dependencies.

	* defaults.h: Don't define ASM_STABD_OP.
	* output.h: Prototype new dbxout_* interfaces.
	* system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
	* varasm.c: Don't define ASM_STABS_OP.
	(default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
	Use the new dbxout.c interfaces.  Call sorry if neither
	DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.

	* xcoffout.h: Don't define ASM_STABS_OP.
	(DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
	(DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
	(NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
	(DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
	do { ... } while (0) idiom.

	* config/alpha/alpha.c (num_source_filenames): Export.
	* config/alpha/alpha.h (num_source_filenames): Declare.
	(DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
	(SDB_OUTPUT_SOURCE_LINE): Add missing newline.
	* config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
	Always use .debugsym.  Update commentary.
	* config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
	(SDB_OUTPUT_SOURCE_LINE): Add missing newline.
	* config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
	Use new interfaces.
	* config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
	(macho_branch_islands): Use new interfaces.

	* doc/tm.texi: Update.

From-SVN: r89623
2004-10-27 01:29:42 +00:00
Kazu Hirata
d0ed471f09 dbxout.c (dbxout_function_decl): Don't use DBX_OUTPUT_FUNCTION_END.
* dbxout.c (dbxout_function_decl): Don't use
	DBX_OUTPUT_FUNCTION_END.
	* system.h: Poison DBX_OUTPUT_FUNCTION_END.
	* doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.

From-SVN: r89496
2004-10-23 20:31:24 +00:00
Zack Weinberg
ac746f1dbb dbxout.c: Remove unnecessary #undefs.
* dbxout.c: Remove unnecessary #undefs.
	(GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
	(FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
	definition into use sites.
	(cwd): Make local to dbxout_init.
	(dbxout_init): Restructure cwd-using logic for clarity.  Use
	IS_DIR_SEPARATOR.
	* xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
	STABS_GCC_MARKER folded in here.
	* system.h: Poison now-unused macros.
	* doc/tm.texi: Remove documentation of now-unused macros.

From-SVN: r89387
2004-10-21 17:22:01 +00:00
Kazu Hirata
9e749a8b42 defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
* defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
	* dwarf2out.c (dwarf2out_init): Remove references to
	DWARF2_GENERATE_TEXT_SECTION_LABEL.
	* system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
	* doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.

From-SVN: r88631
2004-10-06 22:20:31 +00:00
Kazu Hirata
b89dc911b3 collect2.c (COLLECT_PARSE_FLAG): Remove.
* collect2.c (COLLECT_PARSE_FLAG): Remove.
	(main): Remove a reference to COLLECT_PARSE_FLAG
	* system.h: Poison COLLECT_PARSE_FLAG.
	* doc/tm.texi (COLLECT_PARSE_FLAG): Remove.

From-SVN: r88406
2004-10-01 18:45:28 +00:00
Eric Botcazou
f6260033c9 * system.h (getpagesize): Return 'int' instead of 'long'.
From-SVN: r88204
2004-09-27 22:38:08 +00:00
Nathan Sidwell
2c46a62f29 system.h (gcc_assert): Remove __builtin_expect.
* system.h (gcc_assert): Remove __builtin_expect.  Evaluate EXPR
	even when not checking.

From-SVN: r86692
2004-08-28 14:23:07 +00:00
Nathan Sidwell
06c37c965a configure.ac: Add ENABLE_ASSERT_CHECKING control.
* configure.ac: Add ENABLE_ASSERT_CHECKING control.
	Add is_release variable, use it for --enable-werror and
	--enable-checking defaults.
	* system.h (gcc_assert, gcc_unreachable): New.
	* doc/install.texi (--enable-checking): Update.
	* configure, config.in: Rebuilt.

From-SVN: r86666
2004-08-27 16:20:45 +00:00
Eric Christopher
f676971a92 defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
2004-08-23  Eric Christopher  <echristo@redhat.com>

	* defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
	* system.h (VECTOR_MODE_SUPPORTED_P): Poison.
	* target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
	* target.h: Ditto.
	* hooks.h: Include machmode.h.
	(hook_bool_mode_false): Declare.
	* hooks.c (hook_bool_mode_false): Define.
	* expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
	* stor-layout.c (layout_type): Ditto.
	* config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
	Define to target macro.
	* config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
	* config/arm/arm.c: Ditto. Use.
	* config/arm/arm.h: Ditto.
	* config/arm/arm-protos.h: Ditto.
	* config/i386/i386.c: Ditto.
	* config/i386/i386.h: Ditto.
	* config/rs6000/rs6000.c: Ditto.
	* config/rs6000/rs6000.h: Ditto.
	* config/sh/sh.c: Ditto.
	* config/sh/sh.h: Ditto.
	* config/sh/sh-protos.h: Ditto.
	* config/sh/sh.md: Use.
	* doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
	to TARGET_VECTOR_MODE_SUPPORTED_P.

2004-08-23  Eric Christopher  <echristo@redhat.com>

	* trans-types.c (gfc_type_for_mode): Remove VECTOR_TYPE_SUPPORTED_P
	usage. Use build_vector_type_for_mode for vector types.

From-SVN: r86453
2004-08-24 00:30:52 +00:00
Nathan Sidwell
b3d1f5b404 Makefile.in (BUILD_ERRORS): Set to build-errors.
* Makefile.in (BUILD_ERRORS): Set to build-errors.
	(errors.o): New target for host.
	(build-errors.o): New target for build.
	(genobjs): Replace errors.o with build-errors.
	(gengenrtl$(buildexeext)): Add $(BUILD_ERRORS).
	(GCOV_OBJS, GCOV_DUMP_OBJS): Add errors.o.
	(fix-headers$(build_exeext)): Add $(BUILD_ERRORS).
	(fix-header.o): Add errors.h
	* collect2.c (fancy_abort): Add parameters.
	* collect2.h (fancy_abort): Don't declare.
	* errors.h (fancy_abort): Don't declare.
	* errors.c: Include either bconfig.h or config.h.
	(fancy_abort): Trim filename.
	* fix-header.c (v_fatal, fatal): Remove.
	(progname): Remove definition.
	(main): Set progname here.
	* gcc.c (fancy_abort): Add parameters.
	* gcc.h (fancy_abort): Remove declaration.
	* gcov.c (fancy_abort): Remove.
	* rtl.h (fancy_abort): Don't declare.
	(abort): Don't define.
	* tree.h (fancy_abort): Don't declare.
	(abort): Don't define.
	* system.h (fancy_abort): Declare.
	(abort): Define to fancy_abort.
	* fixinc/Makefile.in (ALLOBJ): Add ../build-errors.o
	* java/jv-scan.c (fancy_abort): Add.

From-SVN: r86424
2004-08-23 11:57:02 +00:00
Bernardo Innocenti
ca79179c0a system.h (bool, [...]): Don't redefine as preprocessor macros in C++.
* system.h (bool, true, false): Don't redefine as preprocessor macros
	in C++.

From-SVN: r85135
2004-07-25 02:32:22 +02:00
Richard Henderson
77c9db7751 builtins.c (std_expand_builtin_va_arg): Remove.
* builtins.c (std_expand_builtin_va_arg): Remove.
        (expand_builtin_va_arg): Remove.
        * expr.h: Don't declare them.
        * gimplify.c (mark_decls_volatile_r): Remove.
        (copy_if_shared_r): Don't call it.
        * target-def.h: Don't test EXPAND_BUILTIN_VA_ARG.
        * expr.c (expand_expr_real_1): Don't handle VA_ARG_EXPR.
        * gimple-low.c (lower_stmt): Likewise.
        * tree-cfg.c (cfg_remove_useless_stmts_bb): Likewise.
        * tree-gimple.c (is_gimple_tmp_rhs, is_gimple_stmt): Likewise.
        * tree-ssa-operands.c (get_expr_operands): Likewise.
        * doc/tm.texi (TARGET_GIMPLIFY_VA_ARG_EXPR): Don't mention
        EXPAND_BUILTIN_VA_ARG.
        * system.h (EXPAND_BUILTIN_VA_ARG): Poison.
        * config/alpha/alpha.h, config/alpha/unicosmk.h, config/i386/i386.h,
        config/ia64/ia64.h, config/rs6000/rs6000.h, config/s390/s390.h,
        config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84842
2004-07-16 16:25:51 -07:00
Richard Henderson
8cd5a4e07d target.h (struct gcc_target): Add calls.pass_by_reference.
* target.h (struct gcc_target): Add calls.pass_by_reference.
	* target-def.h (TARGET_PASS_BY_REFERENCE): New.
	* function.c (pass_by_reference): Use the hook.
	* system.h (FUNCTION_ARG_PASS_BY_REFERENCE): Poison.
	* targhooks.c, targhooks.h (hook_pass_by_reference_false): New.
	(hook_pass_by_reference_must_pass_in_stack): New.
	* config/alpha/alpha.c (function_arg): Don't query pass-by-ref.
	(alpha_pass_by_reference): New.
	(TARGET_PASS_BY_REFERENCE): New.
	* config/alpha/alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/arc/arc.c (arc_pass_by_reference): New.
	(TARGET_PASS_BY_REFERENCE): New.
	* config/arc/arc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(FUNCTION_ARG_CALLEE_COPIES): True.
	* config/arm/arm-protos.h (arm_function_arg_pass_by_reference): Remove.
	* config/arm/arm.c (TARGET_PASS_BY_REFERENCE): New.
	(arm_pass_by_reference): Rename from arm_function_arg_pass_by_reference.
	* config/arm/arm.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/c4x/c4x.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/cris/cris.c (cris_pass_by_reference): New.
	(TARGET_PASS_BY_REFERENCE): New.
	* config/cris/cris.h (FUNCTION_ARG): Don't query pass-by-ref.
	(FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE): Likewise.
	(FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/fr30/fr30.c (TARGET_PASS_BY_REFERENCE): New.
	* config/fr30/fr30.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/frv/frv-protos.h (frv_function_arg_pass_by_reference): Kill.
	* config/frv/frv.c (TARGET_PASS_BY_REFERENCE): New.
	(frv_function_arg_pass_by_reference): Remove.
	* config/frv/frv.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/i386/i386-protos.h (function_arg_pass_by_reference): Remove.
	* config/i386/i386.c (TARGET_PASS_BY_REFERENCE): New.
	(ix86_pass_by_reference): Rename from function_arg_pass_by_reference.
	* config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/ia64/ia64-protos.h (ia64_function_arg_pass_by_reference): Kill.
	* config/ia64/ia64.c (TARGET_PASS_BY_REFERENCE): New.
	(ia64_pass_by_reference): Rename from
	ia64_function_arg_pass_by_reference.
	* config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/ip2k/ip2k.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/iq2000/iq2000-protos.h (function_arg_pass_by_reference): Kill.
	* config/iq2000/iq2000.c (TARGET_PASS_BY_REFERENCE): New.
	(iq2000_pass_by_reference): Rename from function_arg_pass_by_reference.
	* config/iq2000/iq2000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
	* config/m32r/m32r-protos.h (m32r_pass_by_reference): Remove.
	* config/m32r/m32r.c (TARGET_PASS_BY_REFERENCE): New.
	(m32r_pass_by_reference): Adjust prototype.  Make static.
	Handle mode sizes correctly.
	* config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c
	(m68hc11_function_arg_pass_by_reference): Remove.
	* config/m68hc11/m68hc11.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
	* config/mcore/mcore.c (TARGET_PASS_BY_REFERENCE): New.
	* config/mcore/mcore.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/mips/mips-protos.h (function_arg_pass_by_reference): Remove.
	* config/mips/mips.c (TARGET_PASS_BY_REFERENCE): New.
	(mips_va_arg): Use pass_by_reference.
	(mips_pass_by_reference): Rename from function_arg_pass_by_reference.
	Handle mode sizes correctly.
	* config/mips/mips.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
        (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
	* config/mmix/mmix-protos.h (mmix_function_arg_pass_by_reference): Kill.
	* config/mmix/mmix.c (TARGET_PASS_BY_REFERENCE): New.
	(mmix_pass_by_reference): Rename from
	mmix_function_arg_pass_by_reference.
	* config/mmix/mmix.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(FUNCTION_ARG_CALLEE_COPIES): True.
	* config/mn10300/mn10300.c (TARGET_PASS_BY_REFERENCE): New.
	(mn10300_pass_by_reference): New.
	* config/mn10300/mn10300.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(FUNCTION_ARG_CALLEE_COPIES): True.
	* config/pa/pa.c (pa_pass_by_reference): New.
	(TARGET_PASS_BY_REFERENCE): New.
	* config/pa/pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
        (FUNCTION_ARG_CALLEE_COPIES): True.
	* config/rs6000/rs6000-protos.h (function_arg_pass_by_reference): Kill.
	* config/rs6000/rs6000.c (TARGET_PASS_BY_REFERENCE): New.
	(rs6000_pass_by_reference): Rename from function_arg_pass_by_reference.
	* config/rs6000/rs6000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/s390/s390-protos.h (s390_function_arg_pass_by_reference): Kill.
	* config/s390/s390.c (TARGET_PASS_BY_REFERENCE): New.
	(s390_pass_by_reference): Rename from
	s390_function_arg_pass_by_reference.
	(s390_function_arg_advance): Don't query pass-by-ref.
	(s390_function_arg): Likewise.
	(s390_gimplify_va_arg): Use pass_by_reference.
	(s390_call_saved_register_used): Likewise.
	* config/s390/s390.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/sh/sh.c (TARGET_PASS_BY_REFERENCE): New.
	(shcompact_byref, sh_pass_by_reference): New.
	* config/sh/sh.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(SHCOMPACT_BYREF): Remove.
	* config/sparc/sparc-protos.h (function_arg_pass_by_reference): Kill.
	* config/sparc/sparc.c (TARGET_PASS_BY_REFERENCE): New.
	(sparc_pass_by_reference): Rename from function_arg_pass_by_reference.
	(sparc_gimplify_va_arg): Use pass_by_reference.
	* config/sparc/sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/stormy16/stormy16.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/v850/v850.c (TARGET_PASS_BY_REFERENCE): New.
	(v850_pass_by_reference): New.
	* config/v850/v850.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(FUNCTION_ARG_CALLEE_COPIES): True.
	* doc/tm.texi (TARGET_PASS_BY_REFERENCE): Update from
	FUNCTION_ARG_PASS_BY_REFERENCE docs.

From-SVN: r84672
2004-07-13 23:24:27 -07:00
Richard Henderson
fe9841365e target-def.h (TARGET_MUST_PASS_IN_STACK): New.
* target-def.h (TARGET_MUST_PASS_IN_STACK): New.
	* target.h (struct gcc_target): Add calls.must_pass_in_stack.
	* expr.h (MUST_PASS_IN_STACK): Remove.
	* system.h (MUST_PASS_IN_STACK): Poison.
	* tree.h (must_pass_in_stack_var_size): Declare.
	(must_pass_in_stack_var_size_or_pad): Declare.
	* calls.c (must_pass_in_stack_var_size): New.
	(must_pass_in_stack_var_size_or_pad): Rename from
	default_must_pass_in_stack.
	* config/alpha/alpha.c (unicosmk_must_pass_in_stack): New.
	(TARGET_MUST_PASS_IN_STACK): New.
	* config/alpha/unicosmk.h (MUST_PASS_IN_STACK): Remove.
	* config/fr30/fr30.c (fr30_must_pass_in_stack): New.
	(TARGET_MUST_PASS_IN_STACK): New.
	* config/fr30/fr30.h (MUST_PASS_IN_STACK): Remove.
	* config/frv/frv.c (frv_must_pass_in_stack): New.
	(TARGET_MUST_PASS_IN_STACK): New.
	* config/frv/frv.h (MUST_PASS_IN_STACK): Remove.
	* config/i386/i386-protos.h (ix86_must_pass_in_stack): Remove.
	* config/i386/i386.c (TARGET_MUST_PASS_IN_STACK): New.
	(ix86_must_pass_in_stack): Make static.
	* config/i386/i386.h (MUST_PASS_IN_STACK): Remove.
	* config/ia64/ia64.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/ia64/ia64.h (MUST_PASS_IN_STACK): Remove.
	* config/m32r/m32r.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/m32r/m32r.h (MUST_PASS_IN_STACK): Remove.
	* config/mcore/mcore-protos.h (mcore_must_pass_on_stack): Remove.
	* config/mcore/mcore.c (TARGET_MUST_PASS_IN_STACK): New.
	(mcore_must_pass_on_stack): Remove.
	* config/mcore/mcore.h (MUST_PASS_IN_STACK): Remove.
	* config/mips/mips.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/mips/mips.h (MUST_PASS_IN_STACK): Remove.
	* config/pa/pa.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/pa/pa.h (MUST_PASS_IN_STACK): Remove.
	* config/rs6000/aix.h (MUST_PASS_IN_STACK): Remove.
	* config/rs6000/linux64.h (MUST_PASS_IN_STACK): Remove.
	* config/rs6000/rs6000.c (rs6000_must_pass_in_stack): New.
	(TARGET_MUST_PASS_IN_STACK): New.
	* config/sh/sh.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/sh/sh.h (MUST_PASS_IN_STACK): Remove.
	* config/sparc/sparc.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/sparc/sparc.h (MUST_PASS_IN_STACK): Remove.
	* config/xtensa/xtensa.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/xtensa/xtensa.h (MUST_PASS_IN_STACK): Remove.
	* doc/tm.texi (TARGET_MUST_PASS_IN_STACK): Update from
	MUST_PASS_IN_STACK.

	* calls.c, function.c, config/alpha/alpha.c, config/alpha/alpha.h,
	config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.c,
	config/cris/cris.h, config/fr30/fr30.c, config/fr30/fr30.h,
	config/frv/frv.c, config/i386/i386.c, config/iq2000/iq2000.c,
	config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.c,
	config/mmix/mmix.c, config/mmix/mmix.h, config/rs6000/rs6000.c,
	config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
	config/xtensa/xtensa.c: Use target hook.

From-SVN: r84606
2004-07-13 00:45:09 -07:00
Joseph Myers
9dcf6e7366 langhooks.h (estimate_num_insns, [...]): Remove hooks.
* langhooks.h (estimate_num_insns, pushlevel, poplevel, set_block,
	maybe_build_cleanup, update_decl_after_saving): Remove hooks.
	* langhooks.c (lhd_clear_binding_stack): Remove.
	* langhooks-def.h (lhd_clear_binding_stack,
	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING,
	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, LANG_HOOKS_PUSHLEVEL,
	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
	(LANG_HOOKS_CLEAR_BINDING_STACK): Define to lhd_do_nothing.
	* system.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_SET_BLOCK,
	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, LANG_HOOKS_POPLEVEL): Poison.
	* tree.h (poplevel): Don't declare.
	* c-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
	* objc/objc-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK,
	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
	Remove.

ada:
	* misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.

cp:
	* cp-lang.c (LANG_HOOKS_MAYBE_BUILD_CLEANUP, LANG_HOOKS_PUSHLEVEL,
	LANG_HOOKS_POPLEVEL, LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): Remove.
	* cp-tree.h (poplevel): Declare.
	(set_block): Remove.
	* decl.c (set_block): Remove.

fortran:
	* f95-lang.c (set_block): Remove.
	(gfc_clear_binding_stack): New.
	(LANG_HOOKS_CLEAR_BINDING_STACK): Define.
	(struct binding_level): Remove block_created_by_back_end.
	(clear_binding_level): Likewise.
	(poplevel): Don't handle block_created_by_back_end.

java:
	* java-tree.h (set_block): Remove.
	* lang.c (java_clear_binding_stack): New.
	(LANG_HOOKS_CLEAR_BINDING_STACK): Define.
	* decl.c (struct binding_level): Remove this_block.
	(clear_binding_level): Likewise.
	(poplevel): Don't handle this_block.
	(set_block): Remove.

treelang:
	* treetree.c (set_block): Remove.
	(struct binding_level): Remove block_created_by_back_end.
	(clear_binding_level): Likewise.
	(tree_code_create_function_initial,
	tree_code_create_function_wrapup): Call pushlevel and poplevel
	directly rather than through hooks.
	(poplevel): Don't handle block_created_by_back_end.

From-SVN: r84499
2004-07-11 10:53:06 +01:00
Aaron W. LaFramboise
6a25777816 system.h: Prototype getpagesize if missing.
* system.h: Prototype getpagesize if missing.
	* configure.ac: Add getpagesize to gcc_AC_CHECK_DECLS.
	* configure: Regenerate.
	* config.in: Regenerate.

From-SVN: r84323
2004-07-08 16:05:29 -07:00
Joseph Myers
8f99553ff6 c-decl.c, [...]: Don't check TARGET_MEM_FUNCTIONS.
* c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check
	TARGET_MEM_FUNCTIONS.
	* system.h: Poison TARGET_MEM_FUNCTIONS.
	* libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc,
	bcmp_libfunc, bzero_libfunc): Remove.
	* optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or
	bzero_libfunc.
	* doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove.
	* doc/standards.texi: Don't mention calling BSD string functions.
	* doc/invoke.texi: Likewise.  Mention that memmove may be called.
	* config/vax/t-memfuncs: New.
	* config/memcmp.c, config/memcpy.c, config/memmove.c,
	config/memset.c: New.
	* config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files.
	* config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use
	vax/t-memfuncs.
	* config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h,
	config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h,
	config/elfos.h, config/gnu.h, config/h8300/h8300.h,
	config/i386/gas.h, config/ia64/ia64.h, config/interix.h,
	config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h,
	config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h,
	config/netbsd.h, config/openbsd.h, config/pa/pa.h,
	config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h,
	config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
	config/svr3.h: Don't define TARGET_MEM_FUNCTIONS.

From-SVN: r84130
2004-07-05 20:49:20 +01:00
Ulrich Weigand
bb2d400f61 c-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN.
* c-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN.
	* system.h (DEFAULT_MAIN_RETURN): Poison.
	* doc/tm.texi (DEFAULT_MAIN_RETURN): Remove documentation.

From-SVN: r83592
2004-06-24 12:09:44 +00:00
Zack Weinberg
84b8b0e04d c-common.h (has_c_linkage): New interface.
* c-common.h (has_c_linkage): New interface.
	* c-cppbuiltin.c: Include target.h.
	(c_cpp_builtins): Define __PRAGMA_REDEFINE_EXTNAME and
	__PRAGMA_EXTERN_PREFIX when appropriate.
	* c-pragma.c: Include target.h.
	Document clarified semantics of symbol-renaming #pragmas.
	(handle_pragma_redefine_extname, handle_pragma_extern_prefix)
	(maybe_apply_renaming_pragma): Rewrite according to clarified
	semantics.  Always recognize, but do not necessarily execute.
	(init_pragma): Unconditionally register symbol-renaming pragmas.
	* system.h: Poison HANDLE_PRAGMA_REDEFINE_EXTNAME
	and HANDLE_PRAGMA_EXTERN_PREFIX.
	* target.h (struct gcc_target): Add handle_pragma_redefine_extname
	and handle_pragma_extern_prefix flags.
	* target-def.h: Add defaults for TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME
	and TARGET_HANDLE_PRAGMA_EXTERN_PREFIX.
	* Makefile.in (c-pragma.o, c-cppbuiltin.o): Update dependencies.
	* config/sol2.h: Define TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME,
	not HANDLE_PRAGMA_REDEFINE_EXTNAME.
	(TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_REDEFINE_EXTNAME.
	(TRANSFER_FROM_TRAMPOLINE): Prototype mprotect.
	* config/alpha/osf.h: Define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX,
	not HANDLE_PRAGMA_EXTERN_PREFIX.
	(TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_EXTERN_PREFIX.
	* doc/extend.texi (Solaris Pragmas, Tru64 Pragmas): Combine
	into one section "Symbol-Renaming Pragmas"; clarify; document
	adjusted semantics.

	* builtins.c (expand_builtin): Do not issue error for a builtin
	with no special case code and no DECL_ASSEMBLER_NAME; just do the
	library call.
	* c-decl.c (builtin_function): Don't call make_decl_rtl.
	* c-objc-common.c (has_c_linkage): Stub implementation.
	* cgraphunit.c (cgraph_expand_function)
	(cgraph_remove_unreachable_nodes): Don't clear DECL_ARGUMENTS.

cp:
	* cp-lang.c (has_c_linkage): Implement.

	* cp-tree.h (set_mangled_name_for_decl): Don't prototype.
	* decl.c (duplicate_decls): Use COPY_DECL_RTL.
	(builtin_function_1): Don't call make_decl_rtl.
	(build_cp_library_fn): Don't call set_mangled_name_for_decl.
	(grokvardecl): Don't call mangle_decl.
	* except.c (nothrow_libfn_p): Look at DECL_NAME, not
	DECL_ASSEMBLER_NAME.
	* method.c (set_mangled_name_for_decl): Delete.
	* name-lookup.c (pushdecl): When a local extern shadows a
	file-scope declaration of the same object, give both DECLs the
	same DECL_UID.
	* typeck.c (cxx_mark_addressable): Don't set TREE_ADDRESSABLE
	on DECL_ASSEMBLER_NAME.

testsuite:
	* g++.dg/expr/enum1.C, g++.dg/opt/const3.C: Declare abort with
	extern "C".
	* g++.dg/other/pragma-re-1.C: Add comments.

From-SVN: r83405
2004-06-20 08:34:54 +00:00
Zack Weinberg
2fac9c017f configure.ac: Don't invoke ACX_HEADER_STDBOOL.
gcc:
	* configure.ac: Don't invoke ACX_HEADER_STDBOOL.
	* configure, config.in: Regenerate.
	* system.h: Unconditionally define bool as unsigned char,
	BOOL_BITFIELD as unsigned int.
	* domwalk.h: Use BOOL_BITFIELD.
libcpp:
	* configure.ac: Don't invoke ACX_HEADER_STDBOOL.
	* configure, config.in: Regenerate.
	* system.h: Unconditionally define bool as unsigned char,
	BOOL_BITFIELD as unsigned int.
	* .cvsignore: New file.

From-SVN: r83020
2004-06-12 05:53:54 +00:00
Paolo Bonzini
4f4e53dd85 Makefile.def (host_modules): add libcpp.
ChangeLog:

2004-05-23  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.def (host_modules): add libcpp.
	* Makefile.tpl: Add dependencies on and for libcpp.
	* Makefile.in: Regenerate.
	* configure.in: Add libcpp host module.
	* configure: Regenerate.

config/ChangeLog:

2004-05-23  Paolo Bonzini  <bonzini@gnu.org>

	* acx.m4 (ACX_HEADER_STDBOOL, ACX_HEADER_STRING):
	From gcc.

gcc/ChangeLog:

2004-05-23  Paolo Bonzini  <bonzini@gnu.org>

	Move libcpp to the toplevel.
	* Makefile.in: Remove references to libcpp files,
	use CPPLIBS instead of libcpp.a.  Define SYMTAB_H
	and change hashtable.h to that.
	* aclocal.m4 (gcc_AC_HEADER_STDBOOL,
	gcc_AC_HEADER_STRING, gcc_AC_C__BOOL): Remove.
	* configure.ac (gcc_AC_C__BOOL, HAVE_UCHAR): Remove tests.
	* configure: Regenerate.
	* config.in: Regenerate.
	* c-ppoutput.c: Include ../libcpp/internal.h instead of cpphash.h.
	* cppcharset.c: Removed.
	* cpperror.c: Removed.
	* cppexp.c: Removed.
	* cppfiles.c: Removed.
	* cpphash.c: Removed.
	* cpphash.h: Removed.
	* cppinit.c: Removed.
	* cpplex.c: Removed.
	* cpplib.c: Removed.
	* cpplib.h: Removed.
	* cppmacro.c: Removed.
	* cpppch.c: Removed.
	* cpptrad.c: Removed.
	* cppucnid.h: Removed.
	* cppucnid.pl: Removed.
	* cppucnid.tab: Removed.
	* hashtable.c: Removed.
	* hashtable.h: Removed.
	* line-map.c: Removed.
	* line-map.h: Removed.
	* mkdeps.c: Removed.
	* mkdeps.h: Removed.
	* stringpool.h: Include symtab.h instead of hashtable.h.
	* tree.h: Include symtab.h instead of hashtable.h.
	* system.h (O_NONBLOCK, O_NOCTTY): Do not define.

gcc/cp/ChangeLog:

2004-05-23  Paolo Bonzini  <bonzini@gnu.org>

	* Make-lang.in: No need to specify $(LIBCPP).

gcc/java/ChangeLog:

2004-05-23  Paolo Bonzini  <bonzini@gnu.org>

	* Make-lang.in: Link in $(LIBCPP) instead of mkdeps.o.

libcpp/ChangeLog:

2004-05-23  Paolo Bonzini  <bonzini@gnu.org>

	Moved libcpp from the gcc subdirectory to the toplevel.
	* Makefile.am: New file.
	* Makefile.in: Regenerate.
	* configure.ac: New file.
	* configure: Regenerate.
	* config.in: Regenerate.
	* charset.c: Moved from gcc/cppcharset.c.  Add note about
	brokenness of input charset detection.  Adjust for change
	in name of cppucnid.h.
	* errors.c: Moved from gcc/cpperror.c.  Do not include intl.h.
	* expr.c: Moved from gcc/cppexp.c.
	* files.c: Moved from gcc/cppfiles.c.  Do not include intl.h.
	Remove #define of O_BINARY, it is in system.h.
	* identifiers.c: Moved from gcc/cpphash.c.
	* internal.h: Moved from gcc/cpphash.h.  Change header
	guard name.  All other files adjusted to match name change.
	* init.c: Moved from gcc/cppinit.c.
	(init_library) [ENABLE_NLS]: Call bindtextdomain.
	* lex.c: Moved from gcc/cpplex.c.
	* directives.c: Moved from gcc/cpplib.c.
	* macro.c: Moved from gcc/cppmacro.c.
	* pch.c: Moved from gcc/cpppch.c.  Do not include intl.h.
	* traditional.c: Moved from gcc/cpptrad.c.
	* ucnid.h: Moved from gcc/cppucnid.h.  Change header
	guard name.
	* ucnid.pl: Moved from gcc/cppucnid.pl.
	* ucnid.tab: Moved from gcc/cppucnid.tab.  Change header
	guard name.
	* symtab.c: Moved from gcc/hashtable.c.
	* line-map.c: Moved from gcc.  Do not include intl.h.
	* mkdeps.c: Moved from gcc.
	* system.h: New file.

libcpp/include/ChangeLog:

2004-05-23  Paolo Bonzini  <bonzini@gnu.org>

	* cpplib.h: Moved from gcc.  Change header guard name.
	* line-map.h: Moved from gcc.  Change header guard name.
	* mkdeps.h: Moved from gcc.  Change header guard name.
	* symtab.h: Moved from gcc/hashtable.h.  Change header
	guard name.

libcpp/po/ChangeLog:

2004-05-23  Paolo Bonzini  <bonzini@gnu.org>

	* be.po: Extracted from gcc/po/be.po.
	* ca.po: Extracted from gcc/po/ca.po.
	* da.po: Extracted from gcc/po/da.po.
	* de.po: Extracted from gcc/po/de.po.
	* el.po: Extracted from gcc/po/el.po.
	* es.po: Extracted from gcc/po/es.po.
	* fr.po: Extracted from gcc/po/fr.po.
	* ja.po: Extracted from gcc/po/ja.po.
	* nl.po: Extracted from gcc/po/nl.po.
	* sv.po: Extracted from gcc/po/sv.po.
	* tr.po: Extracted from gcc/po/tr.po.

From-SVN: r82199
2004-05-24 10:50:45 +00:00
Paolo Bonzini
76391e5a04 gcc.c (struct prefix_list): Add forward declaration.
2004-05-23 Paolo Bonzini <bonzini@gnu.org>

	* gcc.c (struct prefix_list): Add forward declaration.
	(do_spec_path): New function, extracted from...
	(do_spec_1) <'D'>: ... here.  Drop support for
	SPACE_AFTER_L_OPTION.
	(do_spec_1) <'I'>: Use do_spec_path.
	(process_command): Do not store the 'include' suffix
	in include_prefixes.
	* system.h: Poison SPACE_AFTER_L_OPTION.

From-SVN: r82197
2004-05-24 07:19:22 +00:00
Ian Lance Taylor
082a099ce4 system.h: Poison NO_RECURSIVE_FUNCTION_CSE.
* system.h: Poison NO_RECURSIVE_FUNCTION_CSE.
	* calls.c (prepare_call_address): Don't test
	NO_RECURSIVE_FUNCTION_CSE.
	* config/arc/arc.h (NO_RECURSIVE_FUNCTION_CSE): Don't define.
	* config/arm/arm.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
	* config/avr/avr.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
	* config/frv/frv.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
	* config/i386/i386.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
	* config/ip2k/ip2k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
	* config/iq2000/iq2000.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
	* config/m32r/m32r.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
	* config/m68k/m68k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
	* config/mcore/mcore.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
	* config/mips/mips.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
	* config/stormy16/stormy16.h (NO_RECURSIVE_FUNCTION_CSE):
	Likewise.
	* config/xtensa/xtensa.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
	* config/sh/sh.h: Remove NO_RECURSIVE_FUNCTION_CSE comment.
	* doc/tm.texi (Costs): Remove documentation for
	NO_RECURSIVE_FUNCTION_CSE.

From-SVN: r82084
2004-05-21 01:03:20 +00:00
Diego Novillo
6de9cd9a88 Merge tree-ssa-20020619-branch into mainline.
From-SVN: r81764
2004-05-13 02:41:07 -04:00
Paul Brook
9e1622ed25 calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
* calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
	* function.c (assign_temp): Ditto.
	* system.h (PROMOTE_FOR_CALL_ONLY): Poison.

From-SVN: r81247
2004-04-28 13:25:59 +00:00
Kazu Hirata
c3690d79a8 system.h (MD_ASM_CLOBBERS): Move to "Old target macros that have moved to the target hooks structure".
* system.h (MD_ASM_CLOBBERS): Move to "Old target macros that
	have moved to the target hooks structure".

From-SVN: r79656
2004-03-19 00:52:24 +00:00
Richard Henderson
42ba513004 re PR target/14547 (Passing _Complex long double does not follow the ABI)
PR target/14547
        * target.h (struct gcc_target): Move calls substructure before
        booleans.  Add split_complex_arg.
        * function.c (assign_parms, split_complex_args): Use it.
        * calls.c (expand_call): Likewise.
        (split_complex_values): Likewise.  Check for splittable types
        before allocating memory.
        (split_complex_types): Likewise.
        * system.h (SPLIT_COMPLEX_ARGS): Poison.
        * expr.h (SPLIT_COMPLEX_ARGS): Remove.
        * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
        * config/alpha/alpha.c (alpha_split_complex_arg): New.
        (TARGET_SPLIT_COMPLEX_ARG): New.
        * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
        * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
        (rs6000_override_options): Zap it for non-AIX.
        (rs6000_function_value): Use targetm.calls.split_complex_arg.
        * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
        * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
        * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
        * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
        SPLIT_COMPLEX_ARGS entry.

From-SVN: r79376
2004-03-12 02:03:32 -08:00
Ian Lance Taylor
9acd4a03dd system.h (SUNOS4_SHARED_LIBRARIES): Poison.
* system.h (SUNOS4_SHARED_LIBRARIES): Poison.
	* collect2.c: Remove SUNOS4_SHARED_LIBRARIES code.
	* config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): Don't define.
	* config/sparc/sparc.c (sparc_aout_select_section): Remove.
	(sparc_aout_select_rtx_section): Don't check
	SUNOS4_SHARED_LIBRARIES.
	* config/sparc/sparc.h (SUNOS4_SHARED_LIBRARIES): Don't define.

From-SVN: r79216
2004-03-10 00:17:36 +00:00
Kazu Hirata
67dfe1108e hooks.c (hook_tree_tree_identity): New.
* hooks.c (hook_tree_tree_identity): New.
	* hooks.h: Add a prototype for hook_tree_tree_identity.
	* stmt.c (expand_asm_operands): Use targetm.md_asm_clobbers
	instead of MD_ASM_CLOBBERS.
	* system.h (MD_ASM_CLOBBERS): Poison.
	* target-def.h (TARGET_MD_ASM_CLOBBERS): New.
	(TARGET_INITIALIZER): Add TARGET_MD_ASM_CLOBBERS.
	* target.h (gcc_target): Add md_asm_clobbers.
	* config/i386/i386.c (TARGET_MD_ASM_CLOBBERS): New.
	(ix86_md_asm_clobbers): New.
	* config/i386/i386.h (MD_ASM_CLOBBERS): Remove.
	* doc/tm.texi (MD_ASM_CLOBBERS): Change to
	TARGET_MD_ASM_CLOBBERS.

From-SVN: r78868
2004-03-03 23:55:52 +00:00
Kazu Hirata
d6da68b9d4 builtins.c (BUILTIN_SETJMP_FRAME_VALUE): Remove.
* builtins.c (BUILTIN_SETJMP_FRAME_VALUE): Remove.
	(expand_builtin_setjmp_setup): Use
	targetm.builtin_setjmp_frame_value instead of
	BUILTIN_SETJMP_FRAME_VALUE.
	* system.h (BUILTIN_SETJMP_FRAME_VALUE): Poison.
	* target-def.h (TARGET_BUILTIN_SETJMP_FRAME_VALUE): New.
	(TARGET_INITIALIZER): Add TARGET_BUILTIN_SETJMP_FRAME_VALUE.
	* target.h (gcc_target): Add builtin_setjmp_frame_value.
	* targhooks.c (default_builtin_setjmp_frame_value): New.
	* targhooks.h: Add a prototype for
	default_builtin_setjmp_frame_value.
	* doc/tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Change to
	TARGET_BUILTIN_SETJMP_FRAME_VALUE.

From-SVN: r78789
2004-03-02 22:32:27 +00:00
Kazu Hirata
fdf89bf57c system.h (DBX_OUTPUT_STANDARD_TYPES): Poison.
* system.h (DBX_OUTPUT_STANDARD_TYPES): Poison.
	* doc/tm.texi (DBX_OUTPUT_STANDARD_TYPES): Remove.

From-SVN: r78744
2004-03-02 04:55:00 +00:00
Kazu Hirata
c1a41c2fa8 genattr.c (main): Don't define TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
* genattr.c (main): Don't define
	TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
	* system.h (TRADITIONAL_PIPELINE_INTERFACE): Poison.
	(DFA_PIPELINE_INTERFACE): Likewise.
	* doc/tm.texi (TRADITIONAL_PIPELINE_INTERFACE): Remove.
	(DFA_PIPELINE_INTERFACE): Likewise.

From-SVN: r78628
2004-02-28 21:44:22 +00:00