Commit Graph

545 Commits

Author SHA1 Message Date
Zack Weinberg 31cdd4996b defaults.h: Define PREFERRED_STACK_BOUNDARY to STACK_BOUNDARY if not already defined.
* defaults.h: Define PREFERRED_STACK_BOUNDARY to
	STACK_BOUNDARY if not already defined.

	* calls.c, function.c, reload1.c, explow.c: Don't default
	PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
	PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.

	* explow.c (allocate_dynamic_stack_space): Change unsafe #if
	to run-time test.

	* doc/tm.texi: Document that STACK_BOUNDARY is required;
	clarify difference between it and PREFERRED_STACK_BOUNDARY.

From-SVN: r44814
2001-08-12 01:46:15 +00:00
Richard Henderson 2cc07db4b0 Move constructor/destructor handling into target hooks.
From-SVN: r44747
2001-08-09 15:33:35 -07:00
Richard Henderson 1d48205639 i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
* config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
	* function.c (expand_main_function): Implement it.
	* doc/tm.texi: Document it.

From-SVN: r44664
2001-08-06 09:38:18 -07:00
Richard Henderson 7c262518a4 target.h (gcc_target): Add asm_out.named_section, section_type_flags, have_named_sections.
* target.h (gcc_target): Add asm_out.named_section,
	section_type_flags, have_named_sections.
	* target-def.h (TARGET_ASM_NAMED_SECTION): New.
	(TARGET_HAVE_NAMED_SECTIONS): New.
	(TARGET_SECTION_TYPE_FLAGS): New.

	* Makefile.in (toplev.o): Depend on TARGET_H.
	(varasm.o, dbxout.o): Likewise.
	* c-common.c (decl_attributes): Check targetm.have_named_sections
	instead of ifdef ASM_OUTPUT_SECTION_NAME.
	* dbxout.c (dbxout_function_decl): Likewise.
	(dbxout_function_end): Likewise.
	* toplev.c (compile_file): Likewise.
	* varasm.c (exception_section): Likewise.
	* cp/decl2.c (finish_objects): Likewise.

	* defaults.h (EH_FRAME_SECTION): Remove.
	(EH_FRAME_SECTION_ASM_OP): Remove.
	(EH_FRAME_SECTION_NAME): New.
	(UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
	(UNIQUE_SECTION_P): Remove.
	* dwarf2out.c (SECTION_FORMAT): Remove.
	(ASM_OUTPUT_SECTION): Remove.
	(output_call_frame_info): Use named_section_flags.
	(output_comp_unit, dwarf2out_start_source_file): Likewise.
	(dwarf2out_end_source_file, dwarf2out_define): Likewise.
	(dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
	* varasm.c (in_eh_frame, eh_frame_section): Remove.
	(named_section_flags): New.
	(named_section): Use it and targetm.section_type_flags.
	(resolve_unique_section): New.
	(assemble_start_function): Use it.
	(asm_emit_uninitialised, assemble_variable): Likewise.
	(default_section_type_flags): New.
	(default_no_named_section, default_elf_asm_named_section): New.
	(default_coff_asm_named_section, default_pe_asm_named_section): New.
	* output.h: Update varasm.c decls.
	(SECTION_*): New flags.

	* crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
	(__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.

	* config/elfos.h (UNIQUE_SECTION_P): Remove.
	* config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
	* config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
	* config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
	* config/i386/i386-interix.h, config/i386/win32.h: Likewise.
	* config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
	* config/mips/elf.h, config/mips/elf64.h: Likewise.
	* config/mips/iris6gld.h, config/mips/mips.h: Likewise.
	* config/pa/pa64-hpux.h,

	* config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
	(TARGET_ASM_NAMED_SECTION): New.
	* config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
	* config/alpha/vms.h, config/arm/coff.h: Likewise.
	* config/arm/conix-elf.h, config/arm/elf.h: Likewise.
	* config/arm/linux-elf.h, config/arm/pe.h: Likewise.
	* config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
	* config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
	* config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
	* config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
	* config/i386/sco5.h, config/i386/win32.h: Likewise.
	* config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
	* config/mcore/mcore.h, config/mips/elf.h: Likewise.
	* config/mips/elf64.h, config/mips/iris6.h: Likewise.
	* config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
	* config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
	* config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
	* config/sparc/sysv4.h: Likewise.

	* config/nextstep.h: Error until named sections implemented.

	* config/a29k/a29k.c (a29k_asm_named_section): New.
	* config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
	(vms_section_type_flags, vms_asm_named_section): New.
	* config/arm/arm.c (arm_elf_asm_named_section): New.
	* config/avr/avr.c (asm_output_section_name): Remove.
	* config/avr/avr-protos.h: Update.
	* config/c4x/c4x.c (c4x_asm_named_section): New.
	* config/h8300/h8300.c (h8300_asm_named_section): New.
	* config/i386/i386.c (sco_asm_named_section): New.
	* config/i386/winnt.c (SECTION_PE_SHARED): New.
	(i386_pe_section_type_flags): New.
	(i386_pe_asm_named_section): New.
	* config/i386/i386-protos.h: Update.
	* config/m68k/m68k.c (m68k_coff_asm_named_section): New.
	* config/mcore/mcore.c (mcore_asm_named_section): New.
	* config/mips/mips.c (iris6_asm_named_section): New.
	* config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
	instead of UNIQUE_SECTION_P.
	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
	(xcoff_asm_named_section): New.
	* config/sh/sh.c (sh_asm_named_section): New.
	* config/sparc/sparc.c (sparc_elf_asm_named_section): New.

	* config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
	* config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
	(EH_FRAME_SECTION_NAME): New.
	(EXCEPTION_SECTION): New.
	* config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
	(DEBUG_*_SECTION): Remove.
	* config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
	* config/mips/iris6.h (DEBUG_*_SECTION): Remove.
	(EH_FRAME_SECTION_ASM_OP): Remove.

	* doc/tm.texi (UNIQUE_SECTION_P): Remove.
	(ASM_OUTPUT_SECTION_NAME): Remove.
	(TARGET_ASM_NAMED_SECTION): New.
	(TARGET_HAVE_NAMED_SECTIONS): New.
	(TARGET_SECTION_TYPE_FLAGS): New.
	(EH_FRAME_SECTION_ASM_OP): Remove.
	(EH_FRAME_SECTION_NAME): New.

From-SVN: r44623
2001-08-03 18:31:41 -07:00
Lars Brinkhoff 8aeea6e67d combine.c, [...]: consistently use "VAX", "VAXen", and "MicroVAX" in comments and documentation.
* combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
	simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
	config/convex/convex.h, config/d30v/d30v.c,
	config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
	config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
	config/mips/mips.h, config/mn10200/mn10200.h,
	config/mn10300/mn10300.h, config/pdp11/pdp11.md,
	config/v850/v850.h, config/vax/openbsd.h,
	config/vax/openbsd1.h, config/vax/ultrix.h,
	config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
	config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
	cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
	doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
	doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
        in comments and documentation.

From-SVN: r44589
2001-08-03 01:19:20 +00:00
Andrew MacLeod fc1296b77a regclass.c (call_really_used_regs): New array for registers which are actually used by a call.
2001-08-01  Andrew MacLeod  <amacleod@redhat.com>

	* regclass.c (call_really_used_regs): New array for registers which
	are actually used by a call.
	(init_reg_sets_1): Initialize regs_invalidated_by_call with the
	new array.
	(fix_register): Set call_really_used too.
	* config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
	* doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.

From-SVN: r44558
2001-08-01 21:40:43 +00:00
Lars Brinkhoff 68eb4fb9c7 tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT and C4X_FLOAT_FORMAT.
* tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
	and C4X_FLOAT_FORMAT.
	(BOOL_TYPE_SIZE): Document.

From-SVN: r44277
2001-07-23 20:33:40 +00:00
Andrew Haley 6e7b03e1f5 tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
2001-07-13  Andrew Haley  <aph@redhat.com>

        * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
        * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
        * config/sh/sh.c (sh_can_redirect_branch): New function.
        * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
        * reorg.c (steal_delay_list_from_target): Use
        MD_CAN_REDIRECT_BRANCH to see if redirection is possible.

From-SVN: r44269
2001-07-23 16:00:06 +00:00
Nathan Sidwell c4372ef4c6 tm.texi: Remove DEFAULT_VTABLE_THUNKS.
gcc:
	* doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
	* config/freebsd.h: Likewise.
	* config/linux.h: Likewise.
	* config/openbsd.h: Likewise.
	* config/alpha/linux-elf.h: Likewise.
	* config/arm/linux-elf.h: Likewise.
	* config/d30v/d30v.h: Likewise.
	* config/fr30/fr30.h: Likewise.
	* config/ia64/aix.h: Likewise.
	* config/ia64/ia64.h: Likewise.
	* config/mips/linux.h: Likewise.
	* config/pj/pj.h: Likewise.
	* config/rs6000/linux.h: Likewise.
	* config/sparc/linux.h: Likewise.
	* config/sparc/linux64.h: Likewise.
cp:
	Remove flag_vtable_thunk. It is always on for the 3.0 ABI.
	* cp-tree.h (CPTI_DELTA2_IDENTIFIER): Remove.
	(CPTI_INDEX_IDENTIFIER): Remove.
	(CPT_PFN_OR_DELTA2_IDENTIFIER): Remove.
	(delta2_identifier): Remove.
	(index_identifier): Remove.
	(pfn_or_delta2_identifier): Remove.
	(flag_vtable_thunks): Remove.
	(VTABLE_DELTA2_NAME): Remove.
	(VTABLE_INDEX_NAME): Remove.
	(FNADDR_FROM_VTABLE_ENTRY): Adjust.
	(vfunc_ptr_type_node): Adjust.
	(VTABLE_NAME_PREFIX): Adjust.
	(build_vfn_ref): Lose first parameter.
	(fixup_all_virtual_upcast_offsets): Remove.
	* decl.c (initialize_predefined_identifiers): Remove
	delta2_identifier, index_identifier, pfn_or_delta2_identifier.
	(init_decl_processing): Remove no-vtable-thunk code.
	* decl2.c (flag_vtable_thunks): Remove.
	(mark_vtable_entries): Remove no-vtable-thunk code.
	* error.c (dump_decl): Remove no-vtable-thunk code.
	(dump_expr): Adjust ptr to member function code.
	* init.c (initialize_vtable_ptrs): Remove no-vtable-thunk
	code.
	* rtti.c (build_headof): Remove no-vtable-thunk code.
	(get_tinfo_decl_dynamic): Adjust build_vfn_ref call.
	* search.c (get_base_distance): Remove expand_upcast_fixups case.
	(virtual_context) Remove.
	(expand_upcast_fixups): Remove.
	(fixup_virtual_upcast_offsets): Remove.
	(fixup_all_virtual_upcast_offsets): Remove.
	* typeck.c (get_member_function_from_ptrfunc): Remove
	no-vtable-thunk code.
	* call.c (build_over_call): Adjust call to build_vfn_ref.
	* class.c (build_vfn_ref): Lose first parameter. Remove
	no-vtable-thunk code.
	(build_rtti_vtbl_entries): Remove no-vtable-thunk code.
	(build_vtable_entry): Remove no-vtable-thunk code.

From-SVN: r44227
2001-07-21 09:42:21 +00:00
Steve Ellcey 6dd12198d0 * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
* optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
	pointer extension instruction.
	* combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
	* simplify-rtx.c (simplify_unary_operation) Likewise.
	* explow.c (convert_memory_address) Check value of
	POINTERS_EXTEND_UNSIGNED to avoid some conversions when
	less than zero.
	* config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
	MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
	* config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
	Add Multilib Support.
	(POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
	* config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
	Add Multilib Support.
	(POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
	support.
	* config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
	* config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
	a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.

From-SVN: r44166
2001-07-19 16:26:51 -07:00
H.J. Lu 3aa8ab7bfa c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and ASM_OUTPUT_WEAK_ALIAS are defined.
* c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
	ASM_OUTPUT_WEAK_ALIAS are defined.
	* defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
	* config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
	Moved ...
	* config/mips/iris5.h: ... here.
	(HANDLE_SYSV_PRAGMA): Defined as 1.
	* varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
	* doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
	symbol.

Co-Authored-By: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>

From-SVN: r44072
2001-07-17 12:55:19 +00:00
Neil Booth baed53ac34 * tm.texi: Fix markup.
From-SVN: r43907
2001-07-10 18:07:41 +00:00
Gabriel Dos Reis acdcefccef * doc/tm.texi (Misc): Fix thinko.
From-SVN: r43895
2001-07-10 10:52:01 +00:00
Stan Shebs f6155fda7b target.h (struct gcc_target): New fields init_builtins and expand_builtin.
* target.h (struct gcc_target): New fields init_builtins and
	expand_builtin.
	* target-def.h (TARGET_INIT_BUILTINS): New macro.
	(TARGET_EXPAND_BUILTIN): New macro.
	(TARGET_INITIALIZER): Add them.
	* builtins.c: Include target.h.
	(expand_builtin): Use targetm.expand_builtin.
	(default_init_builtins): New function.
	(default_expand_builtin): New function.
	* expr.h (default_init_builtins): Declare.
	(default_expand_builtin): Declare.
	* c-common.c (c_common_nodes_and_builtins): Use
	targetm.init_builtins.
	* defaults.h (MD_INIT_BUILTINS): Remove.
	* Makefile.in (builtins.o): Depend on target.h.

	* config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
	(TARGET_EXPAND_BUILTIN): Define.
	* config/arm/arm.h (MD_INIT_BUILTINS): Remove.
	(MD_EXPAND_BUILTIN): Remove.

	* config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
	(TARGET_EXPAND_BUILTIN): Define.
	(c4x_init_builtins): Make endlink arg a local.
	(c4x_print_operand): Fix typos in adjust_address usages.
	* config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
	* config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
	(MD_EXPAND_BUILTIN): Remove.

	* config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
	(TARGET_EXPAND_BUILTIN): Define.
	(ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
	(ix86_init_builtins): Call new function only if TARGET_MMX.
	* config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
	* config/i386/i386.h (MD_INIT_BUILTINS): Remove.
	(MD_EXPAND_BUILTIN): Remove.

	* config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
	(TARGET_EXPAND_BUILTIN): Define.
	* config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
	(MD_EXPAND_BUILTIN): Remove.

	* doc/tm.texi: Document these changes.

From-SVN: r43888
2001-07-10 06:18:36 +00:00
Neil Booth 8ca83838ab * tm.texi: Fix markup.
From-SVN: r43857
2001-07-09 06:17:25 +00:00
Neil Booth 17b53c33a2 final.c (output_addr_const): Use target opening and closing parentheses.
* final.c (output_addr_const): Use target opening and
	closing parentheses.
	* target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
	defaults, add to TARGET_ASM_OUT.
	* target.h (struct gcc_target): Add open_paren and close_paren.
	* doc/md.texi: Update.
	* doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
	TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
	TARGET_ASM_CLOSE_PAREN.
config:
	* i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
	Override.
	* pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
	Override.
	* 1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
	* a29k/a29k.h: Similarly.
	* alpha/alpha.h: Similarly.
	* arc/arc.h: Similarly.
	* arm/aof.h: Similarly.
	* arm/aout.h: Similarly.
	* avr/avr.h: Similarly.
	* c4x/c4x.h: Similarly.
	* clipper/clipper.h: Similarly.
	* convex/convex.h: Similarly.
	* d30v/d30v.h: Similarly.
	* dsp16xx/dsp16xx.h: Similarly.
	* elxsi/elxsi.h: Similarly.
	* fr30/fr30.h: Similarly.
	* h8300/h8300.h: Similarly.
	* i370/i370.h: Similarly.
	* i386/i386.h: Similarly.
	* i860/i860.h: Similarly.
	* i960/i960.h: Similarly.
	* ia64/ia64.h: Similarly.
	* m32r/m32r.h: Similarly.
	* m68hc11/m68hc11.h: Similarly.
	* m68k/m68k.h: Similarly.
	* m88k/m88k.h: Similarly.
	* mcore/mcore.h: Similarly.
	* mips/mips.h: Similarly.
	* mn10200/mn10200.h: Similarly.
	* mn10300/mn10300.h: Similarly.
	* ns32k/ns32k.h: Similarly.
	* pa/pa.h: Similarly.
	* pdp11/pdp11.h: Similarly.
	* pj/pj.h: Similarly.
	* romp/romp.h: Similarly.
	* rs6000/rs6000.h: Similarly.
	* sh/sh.h: Similarly.
	* sparc/sparc.h: Similarly.
	* v850/v850.h: Similarly.
	* vax/vax.h: Similarly.
	* we32k/we32k.h: Similarly.

From-SVN: r43856
2001-07-09 06:10:09 +00:00
Joseph Myers 648c546a36 tm.texi: Update some places for the rename of target to targetm.
* doc/tm.texi: Update some places for the rename of target to
	targetm.  Fix typo.

From-SVN: r43852
2001-07-08 23:39:06 +01:00
Joseph Myers 12a68f1f08 target.h (struct gcc_target): Add insert_attributes.
* target.h (struct gcc_target): Add insert_attributes.
	* target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
	(TARGET_INITIALIZER): Update.
	* tree.c, tree.h (default_insert_attributes): New function.
	Update comments on other default functions to refer to targetm,
	not target.
	* doc/tm.texi (INSERT_ATTRIBUTES): Update to document
	TARGET_INSERT_ATTRIBUTES.
	(SET_DEFAULT_DECL_ATTRIBUTES): Remove.
	* c-common.c (decl_attributes): Use targetm.insert_attributes.
	Don't use PRAGMA_INSERT_ATTRIBUTES.
	* Makefile.in (c-common.o): Depend on $(TARGET_H).
	* c-decl.c (start_decl, start_function): Don't call
	SET_DEFAULT_DECL_ATTRIBUTES.
	* config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
	* config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
	declare.
	* config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
	(c4x_check_attribute): Avoid modifying attribute list itself.
	(c4x_set_default_attributes): Rename to c4x_insert_attributes.
	Make static.
	* config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
	* config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
	declare.
	* config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
	(sh_pragma_insert_attributes): Rename to sh_insert_attributes.
	Make static.
	* config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
	* config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
	declare.
	* config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
	(v850_set_default_decl_attr): Rename to v850_insert_attributes.
	Adjust parameters.  Make static.

cp:
	* decl.c (start_decl): Don't call SET_DEFAULT_DECL_ATTRIBUTES.
	(start_function): Don't call SET_DEFAULT_DECL_ATTRIBUTES.  Call
	cplus_decl_attributes even if attrs is NULL.
	* friend.c (do_friend): Don't call SET_DEFAULT_DECL_ATTRIBUTES.

From-SVN: r43851
2001-07-08 21:05:17 +01:00
Joseph Myers f7a4cec096 c-common.c (decl_attributes): Only take a single attributes parameter.
* c-common.c (decl_attributes): Only take a single attributes
	parameter.
	* c-common.h (decl_attributes): Update prototype.
	* c-decl.c (start_decl, start_function): Only take a single
	attributes parameter.  Update calls to decl_attributes.
	(finish_struct, finish_enum): Update calls to decl_attributes.
	(push_parm_decl): Expect unified list of attributes.  Update call
	to decl_attributes.
	* c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
	notype_nested_function, component_declarator,
	component_notype_declarator, label): Update calls to
	decl_attributes.
	(absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
	lists that are passed to push_parm_decl.
	* c-tree.h (start_function, start_decl): Update prototypes.
	* config/sh/sh-protos.h, config/sh/sh.c
	(sh_pragma_insert_attributes): Only take a single attributes
	parameter.
	* config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
	* doc/tm.texi (INSERT_ATTRIBUTES): Update.
	* objc/objc-act.c (define_decl, generate_objc_symtab_decl,
	build_module_descriptor, generate_static_references,
	generate_strings, build_selector_translation_table,
	generate_descriptor_table, generate_protocols,
	generate_ivars_list, generate_dispatch_table,
	generate_protocol_list, generate_category,
	generate_shared_structures, really_start_method, add_objc_decls,
	generate_classref_translation_entry): Update calls to start_decl
	and start_function.
	(build_tmp_function_decl, start_method_def): Unify attribute lists
	that are passed to push_parm_decl.

cp:
	* decl.c (grokdeclarator), decl2.c (cplus_decl_attributes): Update
	calls to decl_attributes.

testsuite:
	* gcc.c-torture/compile/20010701-1.c,
	g++.old-deja/g++.ext/attrib6.C: New tests.

From-SVN: r43850
2001-07-08 20:58:19 +01:00
Richard Henderson 7c16328b16 tm.texi (Exception Handling): New subnode of Stack and Calling.
* doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
        Document MD_FALLBACK_FRAME_STATE_FOR.

From-SVN: r43843
2001-07-08 00:07:11 -07:00
Stan Shebs f6897b10e1 target.h (targetm): Rename global from "target", so as not to conflict with local variables.
* target.h (targetm): Rename global from "target", so as not to
        conflict with local variables.
        * c-decl.c: Ditto.
        * c-typeck.c: Ditto.
        * final.c: Ditto.
        * tree.c: Ditto.
        * cp/decl.c: Ditto.
        * cp/decl2.c: Ditto.
        * cp/typeck.c: Ditto.
        * 1750a/1750a.c: Ditto.
        * a29k/a29k.c: Ditto.
        * arc/arc.c: Ditto.
        * arm/arm.c: Ditto.
        * avr/avr.c: Ditto.
        * clipper/clipper.c: Ditto.
        * convex/convex.c: Ditto.
        * d30v/d30v.c: Ditto.
        * dsp16xx/dsp16xx.c: Ditto.
        * elxsi/elxsi.c: Ditto.
        * fr30/fr30.c: Ditto.
        * h8300/h8300.c: Ditto.
        * i370/i370.c: Ditto.
        * i386/i386.c: Ditto.
        * i860/i860.c: Ditto.
        * i960/i960.c: Ditto.
        * ia64/ia64.c: Ditto.
        * m32r/m32r.c: Ditto.
        * m68hc11/m68hc11.c: Ditto.
        * m68k/m68k.c: Ditto.
        * m88k/m88k.c: Ditto.
        * mips/mips.c: Ditto.
        * ns32k/ns32k.c: Ditto.
        * pa/pa.c: Ditto.
        * pdp11/pdp11.c: Ditto.
        * romp/romp.c: Ditto.
        * rs6000/rs6000.c: Ditto.
        * sh/sh.c: Ditto.
        * sparc/sparc.c: Ditto.
        * vax/vax.c: Ditto.
        * we32k/we32k.c: Ditto.
        * doc/tm.texi: Update the manual to match.

From-SVN: r43831
2001-07-07 01:07:22 +00:00
Neil Booth 08c148a85c Makefile.in (final.o): Depend on target.h.
* Makefile.in (final.o): Depend on target.h.
	* final.c: Include target.h.
	(default_function_pro_epilogue): New.
	(final_start_function): Use target structure for function prologues.
	(final_end_function): Use target structure for function epilogues.
	* fold-const.c (real_hex_to_f): Constify s and p.
	* output.h (default_function_pro_epilogue): New.
	* real.h (real_hex_to_f): Update prototype.
	* target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
	TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
	(TARGET_INITIALIZER): Update.
	* target.h (gcc_target): Add struct asm_out.
	* doc/tm.texi: Update.

config:
	Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
	TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
	in cpu/cpu.c, or rename old functions consistently.  Take
	a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
	redundant macros and prototypes.  Make new functions static.

	* 1750a/1750a.c: Similarly.
	* 1750a/1750a.h: Similarly.
	* a29k/a29k-protos.h: Similarly.
	* a29k/a29k.c: Similarly.
	* a29k/a29k.h: Similarly.
	* arc/arc-protos.h: Similarly.
	* arc/arc.c: Similarly.
	* arc/arc.h: Similarly.
	* arm/arm-protos.h: Similarly.
	* arm/arm.c: Similarly.
	* arm/arm.h: Similarly.
	* avr/avr-protos.h: Similarly.
	* avr/avr.c: Similarly.
	* avr/avr.h: Similarly.
	* clipper/clipper-protos.h: Similarly.
	* clipper/clipper.c: Similarly.
	* clipper/clipper.h: Similarly.
	* convex/convex.c: Similarly.
	* convex/convex.h: Similarly.
	* d30v/d30v-protos.h: Similarly.
	* d30v/d30v.c: Similarly.
	* d30v/d30v.h: Similarly.
	* d30v/d30v.md: Similarly.
	* dsp16xx/dsp16xx-protos.h: Similarly.
	* dsp16xx/dsp16xx.c: Similarly.
	* dsp16xx/dsp16xx.h: Similarly.
	* elxsi/elxsi.c: Similarly.
	* elxsi/elxsi.h: Similarly.
	* fr30/fr30.c: Similarly.
	* fr30/fr30.md: Similarly.
	* h8300/h8300-protos.h: Similarly.
	* h8300/h8300.c: Similarly.
	* h8300/h8300.h: Similarly.
	* i370/i370-protos.h: Similarly.
	* i370/i370.c: Similarly.
	* i370/i370.h: Similarly.
	* i386/i386.c: Similarly.
	* i386/osf1elf.h: Similarly.
	* i386/osfrose.h: Similarly.
	* i860/i860-protos.h: Similarly.
	* i860/i860.c: Similarly.
	* i860/i860.h: Similarly.
	* i960/i960-protos.h: Similarly.
	* i960/i960.c: Similarly.
	* i960/i960.h: Similarly.
	* ia64/ia64-protos.h: Similarly.
	* ia64/ia64.c: Similarly.
	* ia64/ia64.h: Similarly.
	* m32r/m32r-protos.h: Similarly.
	* m32r/m32r.c: Similarly.
	* m32r/m32r.h: Similarly.
	* m68hc11/m68hc11-protos.h: Similarly.
	* m68hc11/m68hc11.c: Similarly.
	* m68hc11/m68hc11.h: Similarly.
	* m68k/crds.h: Similarly.
	* m68k/dpx2.h: Similarly.
	* m68k/m68k-protos.h: Similarly.
	* m68k/m68k.c: Similarly.
	* m68k/m68k.h: Similarly.
	* m68k/news.h: Similarly.
	* m88k/m88k-protos.h: Similarly.
	* m88k/m88k.c: Similarly.
	* m88k/m88k.h: Similarly.
	* mips/mips-protos.h: Similarly.
	* mips/mips.c: Similarly.
	* mips/mips.h: Similarly.
	* ns32k/merlin.h: Similarly.
	* ns32k/ns32k.c: Similarly.
	* ns32k/ns32k.h: Similarly.
	* ns32k/tek6000.h: Similarly.
	* pa/pa-protos.h: Similarly.
	* pa/pa.c: Similarly.
	* pa/pa.h: Similarly.
	* pdp11/2bsd.h: Similarly.
	* pdp11/pdp11-protos.h: Similarly.
	* pdp11/pdp11.c: Similarly.
	* pdp11/pdp11.h: Similarly.
	* romp/romp-protos.h: Similarly.
	* romp/romp.c: Similarly.
	* romp/romp.h: Similarly.
	* rs6000/rs6000-protos.h: Similarly.
	* rs6000/rs6000.c: Similarly.
	* rs6000/rs6000.h: Similarly.
	* rs6000/sysv4.h: Similarly.
	* sh/sh-protos.h: Similarly.
	* sh/sh.c: Similarly.
	* sh/sh.h: Similarly.
	* sparc/sparc-protos.h: Similarly.
	* sparc/sparc.c: Similarly.
	* sparc/sparc.h: Similarly.
	* vax/vax.c: Similarly.
	* vax/vax.h: Similarly.
	* vax/vms.h: Similarly.
	* we32k/we32k.c: Similarly.
	* we32k/we32k.h: Similarly.

From-SVN: r43817
2001-07-06 18:40:17 +00:00
DJ Delorie 0259b07a28 gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
* gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
(translate_options): If the above is defined, use it to map
given options to new options.
* doc/tm.texi: Document it.

From-SVN: r43787
2001-07-05 16:09:34 -04:00
Joseph Myers aee96fe99b extend.texi, [...]: Improve formatting.
gcc:
	* doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
	doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
	documentation of -std and -Wwrite-strings.

contrib:
	* texi2pod.pl: Handle @r inside @item.

From-SVN: r43718
2001-07-03 01:46:05 +01:00
Geoffrey Keating 918a61248d [multiple changes]
2001-07-02  Geoffrey Keating  <geoffk@redhat.com>

	* doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.

	* expr.c (emit_move_insn_1): Deal with non-default
	STACK_PUSH_CODE.

	* expr.c (emit_single_push_insn): Fix warning.

2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>

	* expr.c (emit_move_insn_1): Avoid modifying
	cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.

From-SVN: r43703
2001-07-02 20:02:54 +00:00
Geoffrey Keating 1cc5e43240 tm.texi (FUNCTION_ARG): Document that the last call is special.
* doc/tm.texi (FUNCTION_ARG): Document that the last call
	is special.

From-SVN: r43681
2001-07-01 23:21:11 +00:00
Joseph Myers 8d8e52be8a target.h (struct gcc_target): Add comp_type_attributes and set_default_type_attributes.
* target.h (struct gcc_target): Add comp_type_attributes and
	set_default_type_attributes.
	* target-def.h (TARGET_COMP_TYPE_ATTRIBUTES,
	TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Define.
	(TARGET_INITIALIZER): Update.
	* doc/tm.texi (COMP_TYPE_ATTRIBUTES, TARGET_COMP_TYPE_ATTRIBUTES,
	SET_DEFAULT_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES):
	Update documentation of old target macros to describe new target
	hooks.
	* tree.c (make_node): Use target.set_default_type_attributes.
	(default_comp_type_attributes,
	default_set_default_type_attributes): New functions.
	* tree.h (default_comp_type_attributes,
	default_set_default_type_attributes): Declare.
	* c-typeck.c (COMP_TYPE_ATTRIBUTES): Don't define.
	(comptypes): Use target.comp_type_attributes.
	* config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h
	(arc_comp_type_attributes, arc_set_default_type_attributes,
	COMP_TYPE_ATTRIBUTES, SET_DEFAULT_TYPE_ATTRIBUTES): Remove
	functions and macros with default behaviour.
	* config/m32r/m32r-protos.h, config/m32r/m32r.c,
	config/m32r/m32r.h (m32r_comp_type_attributes,
	m32r_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
	SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
	config/m68hc11/m68hc11.h (m68hc11_comp_type_attributes,
	m68hc11_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
	SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
	* config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c,
	config/ns32k/ns32k.h (ns32k_comp_type_attributes,
	COMP_TYPE_ATTRIBUTES): Likewise.
	* config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
	config/rs6000/rs6000.h (rs6000_comp_type_attributes,
	rs6000_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
	SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
	* config/d30v/d30v.h (COMP_TYPE_ATTRIBUTES,
	SET_DEFAULT_TYPE_ATTRIBUTES): Remove commented out macro
	definitions.
	* config/i386/i386.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
	* config/ns32k/ns32k.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
	* config/arm/arm.c (arm_comp_type_attributes,
	arm_set_default_type_attributes): Make static.
	(TARGET_COMP_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES):
	Define.
	* config/arm/arm.h (COMP_TYPE_ATTRIBUTES,
	SET_DEFAULT_TYPE_ATTRIBUTES): Don't define.
	* config/arm/arm-protos.h (arm_comp_type_attributes,
	arm_set_default_type_attributes): Don't declare.
	* config/i386/i386.c (ix86_comp_type_attributes): Make static.
	(TARGET_COMP_TYPE_ATTRIBUTES): Define.
	* config/i386/i386.h (COMP_TYPE_ATTRIBUTES): Don't define.
	* config/i386/i386-protos.h (ix86_comp_type_attributes): Don't
	declare.

cp:
	* typeck.c (COMP_TYPE_ATTRIBUTES): Don't define.
	(comptypes): Use target.comp_type_attributes.

From-SVN: r43655
2001-06-29 18:21:16 +01:00
Stan Shebs f60b945b39 objc-act.c (handle_impent): Rewrite to be more portable and to use ASM_DECLARE_CLASS_REFERENCE.
* objc/objc-act.c (handle_impent): Rewrite to be more portable
        and to use ASM_DECLARE_CLASS_REFERENCE.
        * config/darwin.h (ASM_DECLARE_CLASS_REFERENCE): Rename from
        undocumented DECLARE_CLASS_REFERENCE, add file argument.
        * doc/tm.texi (ASM_DECLARE_CLASS_REFERENCE): Document.

From-SVN: r43622
2001-06-28 01:34:25 +00:00
Neil Booth af27aff6ae * tm.texi: Remove merge conflicts.
From-SVN: r43617
2001-06-27 19:33:17 +00:00
Joseph Myers 161d7b59c5 c-tree.texi, [...]: Replace . at end of sentences preceded by a capital letter with @..
* doc/c-tree.texi, doc/contrib.texi, doc/cpp.texi,
	doc/cppinternals.texi, doc/extend.texi, doc/gcc.texi,
	doc/gcov.texi, doc/install-old.texi, doc/install.texi,
	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Replace
	. at end of sentences preceded by a capital letter with @..

From-SVN: r43611
2001-06-27 16:04:16 +01:00
Neil Booth 501990bbfc system.h (TARGET_ESC): Move to ...
* system.h (TARGET_ESC): Move to ...
	* defaults.h (TARGET_ESC): ... here.
	* target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
	TARGET_VALID_TYPE_ATTRIBUTE): Default to a no-op handler.
	* tree.c (default_valid_attribute_p): New.
	(valid_machine_attribute): Handlers can not be NULL.
	* tree.h (default_valid_attribute_p): New.
	* doc/tm.texi: Document TARGET_ESC.
	* cp/decl2.c (import_export_class): Update.

From-SVN: r43605
2001-06-27 06:55:29 +00:00
Jim Wilson aaa2e8ef87 Add missing documentation.
* doc/tm.texi (MAX_LONG_DOUBLE_TYPE_SIZE, INTEL_EXTENDED_IEEE_FORMAT):
	Document.

From-SVN: r43603
2001-06-26 18:09:03 -07:00
Joseph Myers e979f9e88c cpp.texi, [...]: Use @: where necessary when a full stop does not end a sentence.
* doc/cpp.texi, doc/cppinternals.texi, doc/extend.texi,
	doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
	doc/tm.texi: Use @: where necessary when a full stop does not end
	a sentence.

From-SVN: r43600
2001-06-27 01:04:39 +01:00
Joseph Myers 767094ddfd c-tree.texi, [...]: Use two spaces after ends of sentences.
* doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/gcc.texi,
	doc/install.texi, doc/invoke.texi, doc/objc.texi, doc/rtl.texi,
	doc/tm.texi: Use two spaces after ends of sentences.

From-SVN: r43594
2001-06-26 23:47:11 +01:00
Neil Booth 672a6f42e9 Makefile.in (TARGET_H, [...]): New.
* Makefile.in (TARGET_H, TARGET_DEF_H): New.
	(c-decl.o, tree.o, c-typeck.o, $(out_object_file)): Update.
	* c-decl.c (duplicate_decls): Use function pointer.
	* c-typeck.c (common_type): Similarly.
	* tree.c (valid_machine_attribute): Similarly.
	(merge_machine_type_attributes): Rename merge_type_attributes.
	(merge_machine_decl_attributes): Rename merge_decl_attributes.
	(merge_dllimport_decl_attributes): New function.
	* tree.h (merge_machine_type_attributes): Rename merge_type_attributes.
	(merge_machine_decl_attributes): Rename merge_decl_attributes.
	(merge_dllimport_decl_attributes): New prototype.
	* target.h: New.
	* target-def.h: New.

doc:	(Joseph Myers)
	* doc/gcc.texi, doc/tm.texi: Update documentation.

cp:	Make-lang.in: Update dependencies.
	* spew.c: Include target.h.
	(duplicate_decls): Call target function.
	* decl2.c: include target.h
	(import_export_class): Use existence of target function pointer.
	* typeck.c: Include target.h.
	(qualify_type_recursive): Rename variable.  Call target function.
	(type_after_usual_arithmetic_conversions): Similarly.
	(common_type): Similarly.

config:	* 1750a/1750a.c, a29k/29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
	avr/avr.c, c4x/c4x.c, clipper/clipper.c, convex/convex.c,
	d30v/d30v.c, dsp16xx/dsp16xx.c, elxsi/elxsi.c, fr30/fr30.c,
	i370/i370.c, i386/i386.c, i860/i860.c, i960/i960.c, ia64/ia64.c,
	m32r/m32r.c, m68hc11/m68hc11.c, m68k/m68k.c, m88k/m88k.c,
	mips/mips.c, mn10200/mn10200.c, mn10300/mn10300.c, ns32k/ns32k.c,
	pa/pa.c, pdp11/pdp11.c, pj/pj.c, romp/romp.c, rs6000/rs6000.c,
	sh/sh.c, sparc/sparc.c,	v850/v850.c, vax/vax.c, we32k/we32k.c)
	: Include target.h and target-def.h.  Define target.

	* arc/arc-protos.h (arc_valid_machine_decl_attribute): Remove.
	* arc/arc.c (arc_valid_machine_decl_attribute): Rename
	arc_valid_decl_attribute, make static.
	* arc/arc.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
	* arm/arm-protos.h (arm_valid_machine_decl_attribute,
	arm_valid_type_attribute_p, arm_pe_valid_machine_decl_attribute,
	arm_pe_merge_machine_decl_attributes): Remove.
	* arm/arm.c (arm_valid_machine_decl_attribute_p): Rename
	arm_valid_decl_attribute_p, make static.
	(arm_pe_valid_decl_attribute_p): Move from pe.c.
	* arm/pe.c (arm_pe_valid_machine_decl_attribute_p): Move to arm.c.
	(arm_pe_merge_machine_decl_attributes): Move to tree.c.
	* arm/arm.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
	* arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
	* arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
	* arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): New.
	(VALID_MACHINE_TYPE_ATTRIBUTE, VALID_MACHINE_DECL_ATTRIBUTE): Remove.
	* avr/avr-protos.h (valid_machine_type_attribute,
	valid_machine_decl_attribute): Remove.
	* avr/avr.c (valid_machine_type_attribute,
	valid_machine_decl_attribute): Rename and make static.
	* avr/avr.h (VALID_MACHINE_TYPE_ATTRIBUTE,
	VALID_MACHINE_DECL_ATTRIBUTE): Remove.
	* c4x/c4x-protos.h (c4x_valid_type_attribute_p): Remove.
	* c4x/c4x.c (c4x_valid_type_attribute_p): Make static.
	* c4x/c4x.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
	* d30v/d30v.h: Remove obsolete comments.
	* h8300/h8300-protos.h (h8300_valid_machine_decl_attribute): Remove.
	* h8300/h8300.c (h8300_valid_machine_decl_attribute): Rename, make
	static.
	* h8300/h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
	* i386/cygwin.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
	(i386_pe_merge_decl_attributes, MERGE_MACHINE_DECL_ATTRIBUTES,
	i386_pe_valid_type_attributes_p): Remove.
	* i386/i386-protos.h (ix86_valid_decl_attribute_p,
	ix86_valid_type_attribute_p): Remove.
	* i386/i386.c (ix86_valid_decl_attribute_p): Remove.
	(ix86_valid_type_attribute_p): Make static.
	* i386/i386.h (VALID_MACHINE_DECL_ATTRIBUTE,
	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
	* i386/winnt.c (i386_pe_merge_decl_attributes): Move to tree.c.
	* ia64/ia64-protos.h (ia64_valid_type_attribute): Remove.
	* ia64/ia64.c (ia64_valid_type_attribute): Make static.
	* ia64/ia64.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
	* m32r/m32r-protos.h (m32r_valid_machine_decl_attribute): Remove.
	* m32r/m32r.c (m32r_valid_decl_attribute): Make static.
	* m32r/m32r.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
	* m68hc11/m68hc11-protos.h (m68hc11_valid_decl_attribute_p,
	m68hc11_valid_type_attribute_p): Remove.
	* m68hc11/m68hc11.c (m68hc11_valid_decl_attribute_p): Remove.
	(m68hc11_valid_type_attribute_p): Make static.
	* m68hc11/m68hc11.h (VALID_MACHINE_DECL_ATTRIBUTE,
	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
	* mcore/mcore-protos.h (mcore_valid_machine_decl_attribute,
	mcore_merge_machine_decl_attribute): Remove.
	* mcore/mcore.c (mcore_valid_machine_decl_attribute): Rename,
	make static.
	(mcore_merge_machine_decl_attributes): Move to tree.c.
	* mcore/mcore.h (VALID_MACHINE_DECL_ATTRIBUTE,
	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
	(TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
	* ns32k/ns32k-protos.h (ns32k_valid_decl_attribute_p,
	ns32k_valid_type_attribute_p): Remove.
	* ns32k/ns32k.c (ns32k_valid_decl_attribute_p): Remove.
	(ns32k_valid_type_attribute_p): Make static.
	* ns32k/ns32k.h (VALID_MACHINE_DECL_ATTRIBUTE,
	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
	* rs6000/rs6000-protos.h (rs6000_valid_decl_attribute_p,
	rs6000_valid_type_attribute_p): Remove.
	* rs6000/rs6000.c (rs6000_valid_decl_attribute_p): Remove.
	(rs6000_valid_type_attribute_p): Make static.
	* rs6000/rs6000.h (VALID_MACHINE_DECL_ATTRIBUTE,
	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
	* sh/sh-protos.h (sh_valid_machine_decl_attribute): Remove.
	* sh/sh.c (sh_valid_machine_decl_attribute): Rename, make static.
	* sh/sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
	* v850/v850-protos.h (v850_valid_machine_decl_attribute): Remove.
	* v850/v850.c (v850_valid_machine_decl_attribute): Rename, make static.
	* v850/v850.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.

From-SVN: r43585
2001-06-26 18:09:27 +00:00
Neil Booth b2b263e1cf defaults.h: Default escape sequences to ASCII.
* defaults.h: Default escape sequences to ASCII.
	* config/i370/i370.h: Adjust for ASCII default.
	* config/1750a/1750a.h: Remove escape sequence definitions.
	* config/a29k/a29k.h: Similarly.
	* config/alpha/alpha.h: Similarly.
	* config/arc/arc.h: Similarly.
	* config/arm/arm.h: Similarly.
	* config/avr/avr.h: Similarly.
	* config/c4x/c4x.h: Similarly.
	* config/clipper/clipper.h: Similarly.
	* config/convex/convex.h: Similarly.
	* config/d30v/d30v.h: Similarly.
	* config/dsp16xx/dsp16xx.h: Similarly.
	* config/elxsi/elxsi.h: Similarly.
	* config/fr30/fr30.h: Similarly.
	* config/h8300/h8300.h: Similarly.
	* config/i386/i386.h: Similarly.
	* config/i860/i860.h: Similarly.
	* config/i960/i960.h: Similarly.
	* config/ia64/ia64.h: Similarly.
	* config/m32r/m32r.h: Similarly.
	* config/m68hc11/m68hc11.h: Similarly.
	* config/m68k/m68k.h: Similarly.
	* config/m88k/m88k.h: Similarly.
	* config/mcore/mcore.h: Similarly.
	* config/mips/mips.h: Similarly.
	* config/mn10200/mn10200.h: Similarly.
	* config/mn10300/mn10300.h: Similarly.
	* config/ns32k/ns32k.h: Similarly.
	* config/pa/pa.h: Similarly.
	* config/pdp11/pdp11.h: Similarly.
	* config/pj/pj.h: Similarly.
	* config/romp/romp.h: Similarly.
	* config/rs6000/rs6000.h: Similarly.
	* config/sh/sh.h: Similarly.
	* config/sparc/sparc.h: Similarly.
	* config/v850/v850.h: Similarly.
	* config/vax/vax.h: Similarly.
	* config/we32k/we32k.h: Similarly.
	* doc/tm.texi: Update documentation.

From-SVN: r43569
2001-06-26 06:36:44 +00:00
Joseph Myers f0523f020a c-tree.texi, [...]: Be more consistent about the use of "GCC" and related terms.
* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
	doc/gcc.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
	doc/md.texi, doc/rtl.texi, doc/tm.texi: Be more consistent about
	the use of "GCC" and related terms.
	* doc/gcc.1, doc/gcov.1: Regenerate.

From-SVN: r43547
2001-06-25 01:21:28 +01:00
Joseph Myers bd819a4aba extend.texi, [...]: Remove uses of @refill.
* doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Remove
	uses of @refill.

From-SVN: r43545
2001-06-25 00:04:49 +01:00
Jan Hubicka b2aec5c0eb regs.h (struct reg_info_def): Add freq field.
* regs.h (struct reg_info_def): Add freq field.
	(REG_N_REFS): Update comment.
	(REG_FREQ): New.
	* regclass.c (scan_one_insn): Update REG_FREQ.
	* flow.c (mark_set_1): Update REG_FREQ, make REG_N_SETS unweighted.
	(attempt_auto_inc): Likewise.
	(mark_used_reg): Likewise.
	(try_pre_increment_1): Likewise.
	* local-alloc.c (struct qty): Add freq field.
	(alloc_qty): Set freq.
	(update_equiv_regs): Set REG_FREQ.
	(QTY_CMP_PRI): Use freq.
	(combine_regs): Update qty->freq.
	* global.c (struct allocno): Update comment for n_refs;
	add freq field.
	(local_reg_freq): New array.
	(global_alloc): Update freq field;
	allocate and initialize local_reg_freq.
	(allocno_compare): Use freq field.
	(find_reg): Likewise.
	* reload1.c (count_pseudo): Use freq isntead of n_refs.
	(count_spilled_pseudo): Likewise.

	* tm.texi (GCOV_TYPE_SIZE): Document.
	* basic-block.h (gcov_type): Define.
	(struct edge_def): Use gcov_type for count field.
	(struct basic_block_def): Likewise.
	* defaults.h (GCOV_TYPE_SIZE): Define.
	* final.c (end_final): Use GCOV_TYPE_SIZE.
	* flow.c (dump_edge_info, dump_flow_info, dump_bb): Print count fields
	using HOST_WIDEST_INT_PRINT_DEC.
	* gcov-io.h (__fetch_gcov_type, __store_gcov_type, __read_gcov_type,
	__write_gcov_type): New.
	(store_long): Remove.
	* gcov.c (gcov_type): Set default.
	(struct adj_list): Use gcov_type for arc_count.
	(bb_info): Use gcov_type for succ_count, pred_count and exec_count.
	(create_program_flow_graph): Read arc_count properly.
	(solve_program_flow_graph): 'total' is gcov_type.
	(output_data): Line_counts is gcov_type, print it properly.
	* libgcc2.c (struct bb): Counts is gcov_type.
	(__bb_exit_func): Use __read_gcov_type and __write_gcov_type.
	* profile.c (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set default.
	(GCOV_TYPE_SIZE): Define.
	(struct bb_info): succ_count and pred_count is gcov_type.
	(compute_branch_probabilities): Use __read_gcov_type,
	print read edges to the dump file.
	(total): Is gcov_type.
	(gen_edge_profiler): Use GCOV_TYPE_SIZE.

From-SVN: r43505
2001-06-22 17:18:23 +00:00
Stan Shebs 2147b1541c contrib.texi, [...]: Use the correct name "Objective-C" everywhere instead of "Objective C".
* doc/contrib.texi, doc/cpp.texi, doc/cppinternals.texi,
	doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/invoke.texi,
	doc/objc.texi, doc/tm.texi: Use the correct name "Objective-C"
	everywhere instead of "Objective C".

From-SVN: r43485
2001-06-21 15:25:56 +00:00
Neil Booth ee773fcc77 * tm.texi: Document STDC_0_IN_SYSTEM_HEADERS.
From-SVN: r43426
2001-06-17 09:50:00 +00:00
Joseph Myers c771326b4f c-tree.texi, [...]: Fix spelling and typos.
* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
	doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
	doc/objc.texi, doc/rtl.texi, doc/tm.texi: Fix spelling and typos.
	Consistently use "built-in" and "bit-field".  Minor logical markup
	improvements.
	* doc/gcc.1: Regenerate.

From-SVN: r43383
2001-06-14 23:51:18 +01:00
Joseph Myers 630d3d5a68 c-tree.texi, [...]: Use more logical markup.
* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
	doc/gcc.texi, doc/gcov.texi, doc/install-old.texi,
	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Use more
	logical markup.  Use TeX quotes and dashes.  Use @dots{} and
	@minus{}.  Avoid spaces inside @var.  Update last modification
	date in gcc.texi.
	* doc/gcc.1, doc/gcov.1: Regenerate.

From-SVN: r43369
2001-06-14 12:08:04 +01:00
Joseph Myers 561c1ae113 tm.texi (TARGET_SWITCHES, [...]): Adjust markup.
* doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
	Document use of N_(...), and show it in examples.  Note that
	documentation should be added to invoke.texi.  Avoid an overfull
	hbox.

From-SVN: r42965
2001-06-07 17:41:27 +01:00
DJ Delorie 95e30ecc77 c-tree.texi, [...]: Move to doc subdirectory.
* c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi, objc.texi,
rtl.texi, tm.texi, texinfo.tex: Move to doc subdirectory.
* install.texi: Move to doc/install-old.texi.
* gcc.texi: Move to doc, refer to install-old.texi.
* Makefile.in: Reflect move of docs to doc/.
* f/Make-lang.in: Ditto.
* java/Make-lang.in: Ditto.
* doc/.cvsignore: New.

From-SVN: r42779
2001-06-01 12:51:18 -04:00