1. 19 Jun, 2003 1 commit
    • target.h (asm_out.file_start, [...]): New hooks. · 1bc7c5b6
      	* target.h (asm_out.file_start, file_start_app_off,
      	file_start_file_directive): New hooks.
      	* target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
      	TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START):
      	New hook-definition macros.
      	* doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START.
      	* varasm.c (default_file_start): New.
      	* output.h: Prototype it.
      	* toplev.c (init_asm_output): Use targetm.asm_out.file_start.
      	* system.h: Poison ASM_FILE_START.
      
      	* config/alpha/alpha.c (alpha_write_verstamp): Delete.
      	(alpha_file_start): New, define if !TARGET_ABI_UNICOSMK.
      	(unicosmk_asm_file_start): Rename unicosmk_file_start,
      	make static, take no arguments.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_END,
      	TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate.
      	* config/alpha/unicosmk.h: Don't define ASM_FILE_START nor
      	TARGET_ASM_FILE_END.  Remove reference to ASM_FILE_START in
      	comment.
      	* config/arc/arc.c (arc_asm_file_start): Rename
      	arc_file_start, take no arguments, make static.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/arm/arm.c (aof_file_start): New static function.
      	(TARGET_ASM_FILE_START): Set it, when appropriate.
      	* config/arm/coff.h, config/arm/elf.h:
      	Set TARGET_ASM_FILE_START_APP_OFF to true.
      	* config/avr/avr.c (asm_file_start): Rename avr_file_start,
      	take no arguments, make static.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
      	Set them.
      	* config/c4x/c4x.c (c4x_file_start): New static function.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
      	Set them.
      	* config/cris/cris.c (cris_file_start): New static function.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename
      	dsp16xx_file_start, make static.
      	(luxworks_dsp16xx_file_start): Delete.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/h8300/h8300.c (asm_file_start): Rename
      	h8300_file_start, make static, take no arguments.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/i370/i370.c (i370_file_start): New static function.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/i386/i386.c (x86_file_start): New static function.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE,
      	X86_FILE_START_FLTUSED): New macros, default to false.
      	* config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1.
      	* config/i386/sysv4.h, config/i386/sco5.h: Override
      	X86_FILE_START_VERSION_DIRECTIVE to true.
      	* config/ia64/ia64.c (ia64_file_start): New static function.
      	(TARGET_ASM_FILE_START): Set it.
      	(emit_safe_across_calls): Take no arguments.
      	* config/ia64/ia64.md: Update to match.
      	* config/m32r/m32r.c (m32r_asm_file_start): Rename
      	m32r_file_start, make static, take no arguments.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename
      	m68hc11_file_start, make static, take no arguments.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
      	(print_options): Delete.
      	* config/m68k/m68k.c (m68k_hp320_file_start): New static function.
      	(TARGET_ASM_FILE_START_APP_OFF): Set.
      	* config/m68k/hp320.h: Set TARGET_ASM_FILE_START to
      	m68k_hp320_file_start.
      	* config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start):
      	Make static, take no arguments.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
      	* config/mmix/mmix.c (mmix_asm_file_start): Rename
      	mmix_file_start, make static, take no arguments.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
      	* config/mn10300/mn10300.c (asm_file_start): Rename
      	mn10300_file_start, make static, take no arguments.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
      	* config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set.
      	* config/pa/pa.c (pa_file_start_level, pa_file_start_space,
      	pa_file_start_file, pa_file_start_mcount, pa_elf_file_start,
      	pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start,
      	pa_hpux64_hpas_file_start): New static functions.
      	* config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start.
      	* config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to
      	pa_linux_file_start.
      	* config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to
      	pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as
      	appropriate.
      	* config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start.
      	* config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF.
      	(rs6000_file_start): Make static, take no arguments.  Reset
      	default_cpu under certain conditions.
      	(rs6000_xcoff_file_start): New function.
      	* config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set.
      	* config/rs6000/xcoff.h (TARGET_ASM_FILE_START,
      	TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override.
      	* config/sh/sh.c (output_file_start): Rename
      	sh_file_start, make static, take no arguments.  Merge in old
      	code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
      	* config/sh/sh.c (TARGET_ELF): Define to 0.
      	* config/sh/elf.h (TARGET_ELF): Redefine to 1.
      	* config/v850/v850.c (asm_file_start): Delete.
      	(TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
      	* config/vax/vax.c (vax_file_start): New static function.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set.
      
      	* config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false.
      	* config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h
      	* config/i386/att.h, config/i386/gas.h, config/i386/linux.h
      	* config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h
      	* config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h
      	* config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true.
      
      	* config/darwin.h, config/elfos.h, config/alpha/elf.h
      	* config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h
      	* config/arc/arc.h, config/arm/aof.h, config/arm/aout.h
      	* config/arm/coff.h, config/arm/elf.h, config/arm/pe.h
      	* config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h
      	* config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h
      	* config/i370/i370.h, config/i386/att.h, config/i386/gas.h
      	* config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h
      	* config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h
      	* config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h
      	* config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h
      	* config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h
      	* config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h
      	* config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h
      	* config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h
      	* config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h
      	* config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h
      	* config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START.
      
      	* config/alpha/alpha-protos.h, config/arc/arc-protos.h
      	* config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h
      	* config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
      	* config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h
      	* config/mips/mips-protos.h, config/mmix/mmix-protos.h
      	* config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h
      	* config/sh/sh-protos.h, config/v850/v850-protos.h: Update.
      
      	* xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h:
      	Remove reference to ASM_FILE_START in comment.
      	* config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h
      	* config/arm/linux-gas.h, config/arm/netbsd-elf.h
      	* config/arm/netbsd.h: Delete definition of ARM_OS_NAME.
      
      From-SVN: r68229
      Zack Weinberg committed
  2. 18 Jun, 2003 1 commit
    • bt-load.c: New file. · fe3ad572
      2003-06-18  Stephen Clarke <stephen.clarke@superh.com>
                  J"orn Rennecke <joern.rennecke@superh.com>
      
      	* bt-load.c: New file.
      	* Makefile.in (OBJS): Include bt-load.o
      	(bt-load.o): Add dependencies.
      	* flags.h (flag_branch_target_load_optimize): Declare.
      	(flag_branch_target_load_optimize2): Likewise.
      	* hooks.c (hook_reg_class_void_no_regs): New function.
      	(hook_bool_bool_false): Likewise.
      	* hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
      	* rtl.h (branch_target_load_optimize): Declare.
      	* target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
      	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
      	(TARGET_INITIALIZER): Include these.
      	* target.h (struct gcc_target): Add branch_target_register_class
      	and branch_target_register_callee_saved members.
      	* toplev.c (enum dump_file_index): Add DFI_branch_target_load
      	(dump_file) Add "tars" entry.
      	(flag_branch_target_load_optimize): New variable.
      	(flag_branch_target_load_optimize2): Likewise.
      	(lang_independent_options): Add entries for new options.
      	(rest_of_compilation): Call branch_target_load_optimize.
      	* doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
      	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
      	* doc/invoke.texi: Document -fbranch-target-load-optimize and
      	-fbranch-target-load-optimize2.
      	* rtl.h (epilogue_completed): Declare.
      	* recog.c (epilogue_completed): New variable.
      	* toplev.c (rest_of_compilation): Set it.
      	* flow.c (mark_regs_live_at_end): Use it.
      	* config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
      	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
      	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
      	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
      
      	* sh.c (shmedia_space_reserved_for_target_registers): New variable.
      	(sh_target_reg_class): New function.
      	(sh_optimize_target_register_callee_saved): Likwise.
      	(shmedia_target_regs_stack_space): Likewise.
      	(shmedia_reserve_space_for_target_registers_p): Likewise.
      	(shmedia_target_regs_stack_adjust): Likewise.
      	(TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
      	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
      	(calc_live_regs): If flag_branch_target_load_optimize2 and
      	TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
      	for target registers, make sure that we save all target registers.
      	(sh_expand_prologue, sh_expand_epilogue): Take target register
      	optimizations into account.  Collapse stack adjustments if that
      	is beneficial.
      	(initial_elimination_offset): Reserve space for target registers
      	if necessary.
      	* sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
      	(OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
      
      Co-Authored-By: J"orn Rennecke <joern.rennecke@superh.com>
      
      From-SVN: r68165
      Stephen Clarke committed
  3. 07 Jun, 2003 1 commit
    • config.gcc (with_cpu handling): Translate sparc64 in $machine to --with-cpu=v9. · a5fe455b
      	* config.gcc (with_cpu handling): Translate sparc64 in
      	$machine to --with-cpu=v9.
      	* config/alpha/alpha.c
      	(TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
      	(alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
      
      	* target.h: New hook asm_out.file_end.
      	* target.h: Update to match.  New hook macro TARGET_ASM_FILE_END.
      	* toplev.c (compile_file: Use targetm.asm_out.file_end.
      	* system.h: Poison ASM_FILE_END.
      	* varasm.c (file_end_indicate_exec_stack): New.
      	* output.h: Prototype it.
      	* doc/tm.texi: Document TARGET_ASM_FILE_END and
      	file_end_indicate_exec_stack.  Delete references to attasm.h.
      
      	* config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
      	(ASM_FILE_END): Delete; move code...
      	* config/darwin.c (darwin_file_end): Here; new function.
      	* config/darwin-protos.h: Prototype it.
      	* config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
      	rename unicosmk_file_end.
      	* config/arm/aof.h (ASM_FILE_END): Delete; move code...
      	* config/arm/arm.c (aof_file_end): ... here; new static function.
      	Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
      	Make aof_dump_imports and aof_dump_pic_table static.
      	* config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
      	Set TARGET_ASM_FILE_END to avr_file_end.
      	* config/c4x/c4x.c (c4x_file_end): Make static.  Take no arguments.
      	Set TARGET_ASM_FILE_END to c4x_file_end.
      	* config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
      	make static. Take no arguments.  Set TARGET_ASM_FILE_END to
      	h8300_file_end.
      	* config/i370/i370.h (ASM_FILE_END): Delete; move code...
      	* config/i370/i370.c (i370_file_end): ... here; new static function.
      	Set TARGET_ASM_FILE_END to i370_file_end.
      	 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
      	 Take no arguments.  Call file_end_indicate_exec_stack if
      	 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
      	* config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
      	Define NEED_INDICATE_EXEC_STACK to 0.
      	* config/i386/linux.h, config/i386/linux64.h: Redefine
      	NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
      	* config/i386/winnt.c (i386_pe_asm_file_end): Rename to
      	i386_pe_file_end.  Take no arguments.  Use ix86_file_end.
      	* config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
      	ia64_hpux_file_end, make static.  Take no arguments.
      	* config/ip2k/ip2k.c (asm_file_start, asm_file_end,
      	commands_in_prologues, commands_in_epilogues): Delete.
      	(function_epilogue): Update to match.
      	* config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
      	make static.  Take no arguments.
      	(iris6_asm_file_end): Rename iris6_file_end, make static, use
      	mips_file_end, take no arguments.
      	Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
      	appropriate.
      	* config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
      	make static, take no arguments. Set TARGET_ASM_FILE_END to
      	mmix_file_end.
      	* config/pa/pa.c (output_deferred_plabels): Make static, take
      	no arguments.  Set TARGET_ASM_FILE_END to output_deferred_plabels.
      	* config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
      	(ASM_FILE_END): Delete; move code...
      	* config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
      	new static function.
      
      	* config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
      	* config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
      	Don't set ASM_FILE_END.
      	* config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
      	* config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
      	* config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
      	file_end_indicate_exec_stack; don't set ASM_FILE_END.
      	* config/alpha/unicosmk.h, config/i386/cygming.h
      	* config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
      	* config/arm/arm-protos.h, config/alpha/alpha-protos.h
      	* config/avr/avr-protos.h, config/c4x/c4x-protos.h
      	* config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
      	* config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
      	* config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
      
      From-SVN: r67591
      Zack Weinberg committed
  4. 14 May, 2003 1 commit
    • target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define. · 18dbd950
      	* target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(TARGET_INITIALIZER): Include it.
      	* target.h (struct gcc_target): Add machine_dependent_reorg field.
      	* toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
      
      	* config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
      	* config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(alpha_handle_trap_shadows): Remove "first insn" parameter.
      	(alpha_align_insns): Likewise.
      	(alpha_reorg): Likewise.  Make static.  Update calls to above
      	functions.
      
      	* config/arm/arm-protos.h (arm_reorg): Remove declaration.
      	* config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(arm_reorg): Remove parameter.  Make static.
      
      	* config/avr/avr-protos.h (machine_dependent_reorg): Remove.
      	* config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(avr_reorg): Renamed from machine_dependent_reorg.  Make static.
      	Remove parameter.
      
      	* config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
      	* config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(c4x_reorg): Renamed from c4x_process_after_reload.  Make static.
      	Remove parameter.
      
      	* config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
      	* config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
      
      	* config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
      	* config/frv/frv.c: Remove orphaned comment.
      
      	* config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
      	* config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(ix86_reorg): Renamed from x86_machine_dependent_reorg.  Make static.
      	Remove parameter.
      
      	* config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
      	* config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(emit_insn_group_barriers): Remove "first insn" parameter.
      	(emit_all_insn_group_barriers): Likewise.
      	(ia64_reorg): Likewise.  Make static.  Update calls to above functions.
      	(ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
      
      	* config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
      	* config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(ip2k_reorg): Renamed from machine_dependent_reorg.  Make static.
      	Remove parameter.
      
      	* config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
      	* config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(m68hc11_reorg): Make static.  Remove parameter.
      
      	* config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
      	* config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(conditionalize_optimization): Remove parameter.
      	(mcore_reorg): Renamed from mcore_dependent_reorg.  Remove parameter.
      	Make static.  Update call to conditionalize_optimization.
      
      	* config/mips/mips-protos.h (machine_dependent_reorg): Remove.
      	* config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(mips_reorg): Renamed from machine_dependent_reorg.  Remove parameter.
      	Make static.
      
      	* config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
      	* config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(mmix_reorg): Renamed from mmix_machine_dependent_reorg.  Make static.
      	Remove parameter.
      
      	* config/pa/pa-protos.h (pa_reorg): Remove declaration.
      	* config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(pa_combine_instructions): Remove "first insn" parameter.
      	(remove_useless_addtr_insns): Likewise.
      	(pa_reorg): Likewise.  Make static.  Update calls to above functions.
      
      	* config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
      	commented-out definition.
      
      	* config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
      	* config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(s390_reorg): Renamed from s390_machine_dependent_reorg.  Make static.
      	Remove parameter.
      
      	* config/sh/sh-protos.h (machine_dependent_reorg): Remove.
      	* config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(sh_reorg): Renamed from machine_dependent_reorg.  Make static.
      	Remove parameter.
      	(sh_output_mi_thunk): Call sh_reorg directly.
      	* config/sh/sh.md: Update comment.
      
      	* config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
      	commented-out definition.
      
      	* config/v850/v850-protos.h (v850_reorg): Remove declaration.
      	* config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(v850_reorg): Make static.  Remove parameter.
      
      	* config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
      	* config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
      	* config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
      	(xtensa_reorg): Make static.  Remove parameter.
      
      	* doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
      	(TARGET_MACHINE_DEPENDENT_REORG): Document.
      
      From-SVN: r66800
      Richard Sandiford committed
  5. 28 Apr, 2003 1 commit
    • tree.h (TREE_CST_RTL, [...]): Delete. · 0864034e
      	* tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
      	(struct tree_int_cst, struct tree_real_cst, struct tree_string,
      	struct tree_complex, struct tree_vector): Remove RTL field.
      	(CONSTRUCTOR_ELTS): Use elt 0.
      	* tree.def (CONSTRUCTOR): Delete first of its two operands.
      	* varasm.c (output_constant_def): Remove early exit if
      	TREE_CST_RTL is set.  Don't set TREE_CST_RTL.
      	(decode_addr_const): Don't mention TREE_CST_RTL in comment.
      	* target.h (select_section): Don't mention TREE_CST_RTL in comment.
      	* doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
      
      ada:
      	* utils.c (convert): No need to clear TREE_CST_RTL.
      
      From-SVN: r66182
      Zack Weinberg committed
  6. 20 Apr, 2003 1 commit
    • target.h (encode_section_info): Add new argument carrying the RTL to be modified by the hook. · c6a2438a
      	* target.h (encode_section_info): Add new argument carrying
      	the RTL to be modified by the hook.
      
      	* varasm.c (make_decl_rtl, output_constant_def): Update calls
      	to encode_section_info.
      	(default_encode_section_info): Take and use RTL argument,
      	don't use TREE_CST_RTL or DECL_RTL.
      	* output.h: Update prototype of default_encode_section_info.
      	* config/darwin.h (ASM_DECLARE_OBJECT_NAME)
      	(ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
      	Update calls to encode_section_info.
      
      	* config/darwin.c, config/arm/arm.c, config/arm/pe.c
      	* config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
      	* config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
      	* config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
      	* config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
      	* config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
      	Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
      	except for PE dllimport/dllexport.  Update calls to
      	default_encode_section_info.
      
      	* config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
      	Update prototypes.
      
      	* doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
      
      From-SVN: r65859
      Zack Weinberg committed
  7. 05 Mar, 2003 1 commit
    • tm.texi: Document TARGET_DWARF_REGISTER_SPAN. · 96714395
      2003-03-05  Aldy Hernandez  <aldyh@redhat.com>
      
              * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
      
              * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
      
              * hooks.c (hook_rtx_rtx_null): New.
      
              * hooks.h (hook_rtx_rtx_null): Protoize.
      
              * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
              (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
      
              * target.h (struct gcc_target): Add dwarf_register_span.
      
              * dwarf2out.c (multiple_reg_loc_descriptor): New.
              (one_reg_loc_descriptor): New.
              (reg_loc_descriptor): Add support for values that span more than
              one register.
      
      From-SVN: r63870
      Aldy Hernandez committed
  8. 25 Feb, 2003 1 commit
    • 003-02-20 Aldy Hernandez <aldyh@redhat.com> · c8e4f0e9
              * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
              TARGET_VECTOR_OPAQUE_P.  Document accordingly.
      
              * testsuite/gcc.dg/20030218-1.c: Check that initialization of
              opaque types fail.
      
              * c-typeck.c (comptypes): Change call to vector_types_compatible
              to vector_opaque_p.
              (convert_for_assignment): Call vector_opaque_p instead of
              vector_types_compatible.
              (really_start_incremental_init): Disallow initialization of opaque
              types.
      
              * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
              Define TARGET_VECTOR_OPAQUE_P.
              (TARGET_INITIALIZER): Same.
      
              * target.h (struct gcc_target): Remove vector_types_compatible.
              Add vector_opaque_p.
      
              * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
              Remove.
              (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
              a vector type.  Change return type to bool.
              (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
              (TARGET_VECTOR_OPAQUE_P): Define.
      
              * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
              target hook.
              Include target.h.
              (cp_parser_init_declarator): Fix typo in function comments.
      
      From-SVN: r63411
      Aldy Hernandez committed
  9. 19 Feb, 2003 1 commit
    • 20030218-1.c: New. · 62e1dfcf
      2003-02-18  Nick Clifton  <nickc@redhat.com>
                  Aldy Hernandez  <aldyh@redhat.com>
      
              * testsuite/gcc.dg/20030218-1.c: New.
      
              * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
      
              * target-def.h (TARGET_INITIALIZER): Add
              TARGET_VECTOR_TYPES_COMPATIBLE.
              (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
      
              * target.h (struct gcc_target): Add field vector_types_compatible.
      
              * c-typeck.c (comptypes): Take into account
              TARGET_VECTOR_TYPES_COMPATIBLE.
              (convert_for_assignment): Same.
      
              * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
              (rs6000_spe_vector_types_compatible): New.
              (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
      
      From-SVN: r63080
      Nick Clifton committed
  10. 16 Feb, 2003 1 commit
    • Makefile.in (cfglayout.o): Depend on TARGET_H. · 0b077eac
              * Makefile.in (cfglayout.o): Depend on TARGET_H.
              * cfglayout.c: Include target.h.
              (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
              * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
              * target.h (struct gcc_target): Add cannot_copy_insn_p.
      
              * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
              (TARGET_CANNOT_COPY_INSN_P): New.
              (override_options): Revert 2003-02-08 hack.
      
      From-SVN: r62955
      Richard Henderson committed
  11. 03 Feb, 2003 1 commit
    • hooks.c (hook_rtx_rtx_identity): Generic hook function that takes a single rtx… · 7daebb7a
      hooks.c (hook_rtx_rtx_identity): Generic hook function that takes a single rtx and returns it unmodified.
      
      
      	* hooks.c (hook_rtx_rtx_identity): Generic hook function that
      	takes a single rtx and returns it unmodified.
      	* hooks.h (hook_rtx_rtx_identity): Prototype here.
      	* target.h (struct gcc_target): Add "delegitimize_address"
      	field to target structure.
      	* target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
      	for delegitimize_address target using hook_rtx_rtx_identity.
      	(TARGET_INITIALIZER): Initialize delegitimize_address field
      	using TARGET_DELEGITIMIZE_ADDRESS macro.
      	* simplify-rtx.c (avoid_constant_pool_reference): Handle float
      	extensions of constant pool references.  Use delegitimize_address
      	to undo the obfuscation of "-fpic".
      	* Makefile.in (simplify-rtx.o): Add dependency on target.h.
      
      	* config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
      	i386_simplify_dwarf_addr.
      	(ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
        	(maybe_get_pool_constant): Likewise.
      
      From-SVN: r62336
      Roger Sayle committed
  12. 28 Jan, 2003 2 commits
    • target.h (targetm.address_cost): New. · dcefdf67
      	* target.h (targetm.address_cost): New.
      	* target-def.h (TARGET_ADDRESS_COST): New.
      	(TARGET_RTX_COSTS): Uncomment.  Oops.
      	* cse.c (address_cost): Use new target hook.
      	(default_address_cost): New.
      	* output.h (default_address_cost): Declare.
      	* hooks.c (hook_int_rtx_0): New.
      	* hooks.h (hook_int_rtx_0): Declare.
      	* loop.c (combine_givs_p): Remove if 0 code.
      	* system.h (ADDRESS_COST): Poison.
      
      	* config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
      	config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
      	config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
      	config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
      	config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
      	config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
      	config/xtensa/xtensa.c, config/xtensa/xtensa.h
      	(TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
      	(ADDRESS_COST): Remove.
      
      	* config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
      	config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
      	config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
      	config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
      	config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
      	config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
      	config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
      	config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
      	config/mips/mips.c, config/mips/mips.h,
      	config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
      	config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
      	config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
      	config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
      	config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
      	config/vax/vax.c, config/vax/vax.h
      	(foo_address_cost): Make static.
      	(TARGET_ADDRESS_COST): New.
      	(ADDRESS_COST): Remove.
      
      	* config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
      	config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
      	config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
      	config/stormy16/stormy16.h
      	(ADDRESS_COST): Move code ...
      	(foo_address_cost): ... here.
      	(TARGET_ADDRESS_COST): New.
      
      	* config/m32r/m32r.c (m32r_address_cost): Remove.
      	* config/m32r/m32r-protos.h: Update.
      
      	* config/mmix/mmix.c (mmix_address_cost): Remove.
      	* config/mmix/mmix-protos.h: Update.
      
      	* config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
      	mn10300_address_cost; move unsig allocation ...
      	(mn10300_address_cost): ... here.
      	(TARGET_ADDRESS_COST): New.
      	* config/mn10300/mn10300-protos.h: Update.
      	* config/mn10300/mn10300.h (ADDRESS_COST): Remove.
      
      From-SVN: r61988
      Richard Henderson committed
    • Makefile.in (cse.o): Depend on TARGET_H. · 3c50106f
      	* Makefile.in (cse.o): Depend on TARGET_H.
      	* cse.c (rtx_cost): Use targetm.rtx_costs.
      	* system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
      	* doc/tm.texi: Update.
      
      	* target.h (targetm.rtx_costs): New.
      	* target-def.h (TARGET_RTX_COSTS): New.
      	* hooks.c (hook_bool_rtx_int_int_intp_false): New.
      	* hooks.h: Update.
      
      	* config/alpha/alpha.c (alpha_rtx_cost_data): New.
      	(alpha_rtx_costs, TARGET_RTX_COSTS): New.
      	* config/alpha/alpha.h (PROCESSOR_MAX): New.
      	(CONST_COSTS, RTX_COSTS): Remove.
      
      	* config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
      	config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
      	config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
      	config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
      	config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
      	config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
      	config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
      	config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
      	config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
      	config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
      	config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
      	config/mn10200/mn10200.h, config/mn10300/mn10300.c,
      	config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
      	config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
      	config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
      	config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
      	config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
      	config/stormy16/stormy16.c, config/stormy16/stormy16.h,
      	config/v850/v850.c, config/v850/v850.h,
      	config/xtensa/xtensa.c, config/xtensa/xtensa.h
      	(CONST_COSTS, RTX_COSTS): Move code ...
      	(foo_rtx_costs, TARGET_RTX_COSTS): ... here.
      
      	* config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
      	(arm_rtx_costs, TARGET_RTX_COSTS): New.
      	* config/arm/arm-protos.h: Update.
      	* config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
      
      	* config/avr/avr.h (CONST_COSTS): Move code ...
      	* config/avr/avr.c (avr_rtx_costs): ... here.
      	(default_rtx_costs): Make static.
      	* config/avr/avr-protos.h: Update.
      
      	* config/h8300/h8300.c (const_costs): Make static.
      	(h8300_and_costs, h8300_shift_costs): Likewise.
      	* config/h8300/h8300-protos.h: Update.
      
      	* config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
      	(CONST_COSTS): Move code ...
      	* config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
      	default_rtx_costs; update for signature change.
      	* config/ip2k/ip2k-protos.h: Update.
      
      	* config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
      	(CONST_COSTS): Move code ...
      	* config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
      	(TARGET_RTX_COSTS): New.
      	(m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
      	* config/m68hc11/m68hc11-protos.h: Update.
      
      	* config/m68k/m68k.c (const_int_cost): Make static.
      	* config/m68k/m68k-protos.h: Update.
      
      	* config/mcore/mcore.c (mcore_const_costs): Make static.
      	(mcore_and_cost, mcore_ior_cost): Likewise.
      	* config/mcore/mcore-protos.h: Update.
      
      	* config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
      	(mmix_rtx_cost_recalculated): Remove.
      	* config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
      	* config/mmix/mmix-protos.h: Update.
      
      	* config/sh/sh.c (shiftcosts): Make static.
      	(addsubcosts, andcosts, multcosts): Likewise.
      	* config/sh/sh-protos.h: Update.
      
      	* config/sparc/sparc.c (TARGET_RTX_COSTS): New.
      	(sparc_rtx_costs): Make static; update for change in signature.
      	* config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
      	* config/sparc/sparc-protos.h: Update.
      
      	* config/v850/v850.c (const_costs): Make static.
      	* config/v850/v850-protos.h: Update.
      
      	* config/vax/vax.h (RTX_COSTS): Remove.
      	(CONST_COSTS): Move code ...
      	* config/vax/vax.c (vax_rtx_costs_1): ... here; rename
      	from vax_rtx_cost.
      	(vax_rtx_costs, TARGET_RTX_COSTS): New.
      
      From-SVN: r61954
      Richard Henderson committed
  13. 09 Jan, 2003 1 commit
  14. 16 Dec, 2002 1 commit
  15. 09 Dec, 2002 1 commit
    • target.h (gcc_target): Add cannot_force_const_mem. · 3a04ff64
              * target.h (gcc_target): Add cannot_force_const_mem.
              * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
              (TARGET_INITIALIZER): Add it.
              * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
              * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
              * reload1.c (reload): Likewise.
              * hooks.c (hook_bool_rtx_false): New.
              * hooks.h: Declare it.
      
              * config/i386/i386.c (ix86_cannot_force_const_mem): New.
              (TARGET_CANNOT_FORCE_CONST_MEM): New.
              (ix86_expand_move): Remove de-const-pooling hack.
      
      	* gcc.dg/tls/opt-4.c: New.
      
      From-SVN: r59971
      Richard Henderson committed
  16. 27 Nov, 2002 1 commit
    • c-common.c (handle_visibility_attribute): Accept "default". · 25fdb4dc
      	* c-common.c (handle_visibility_attribute): Accept "default".
      	* tree.h (enum symbol_visibility): New.
      	(decl_visibility): Declare.
      	* target.h (gcc_target.visibility): Take visibility arg as integer.
      	* varasm.c (default_assemble_visibility): Likewise.
      	(decl_visibility): New.
      	(maybe_assemble_visibility): Use it.
      	* output.h (default_assemble_visibility): Update prototype.
      	* config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
      	visibility arg as integer.
      
      From-SVN: r59559
      Richard Henderson committed
  17. 16 Nov, 2002 1 commit
  18. 22 Oct, 2002 1 commit
    • target.h (gcc_target.asm_out): Merge output_mi_thunk and output_mi_vcall_thunk into a single hook. · 3961e8fe
      gcc/
      	* target.h (gcc_target.asm_out): Merge output_mi_thunk and
      	output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
      	* target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
      	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
      	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
      	(TARGET_ASM_OUT): Update.
      	* hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
      	(hook_bool_tree_hwi_hwi_tree_true): New.
      	(default_can_output_mi_thunk_no_vcall): New.
      	* hooks.h: Declare them.
      	* system.h (ASM_OUTPUT_MI_THUNK): Poison.
      
      	* config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
      	(alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
      	* config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
      	config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
      	config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
      	config/stormy16/stormy16.c: Similarly.
      
      	* config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
      	Handle 64-bit properly.  Streamline.
      	(x86_output_mi_vcall_thunk): Remove.
      	(x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
      	(x86_can_output_mi_thunk): New.
      	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
      	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
      	(override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
      
      	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
      	output_mi_thunk; make static; always use function_section.
      	(TARGET_ASM_OUTPUT_MI_THUNK): New.
      	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
      	(rs6000_ra_ever_killed): Test no_new_pseudos not
      	targetm.asm_out.output_mi_thunk in conjunction with thunks.
      	* config/rs6000/rs6000-protos.h: Update.
      	* config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
      	* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
      	xcoffout_declare_function when using rs6000_output_mi_thunk.
      
      	* config/s390/s390.c (s390_output_mi_thunk): Rename from
      	s390_output_mi_vcall_thunk.
      	(TARGET_ASM_OUTPUT_MI_THUNK): Remove.
      	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
      
      	* config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
      	(TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
      	* config/vax/vax-protos.h: Update.
      	* config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
      
      gcc/cp/
              * method.c (use_thunk): Always compute vcall_value; assert that
              it is not zero.  Use can_output_mi_thunk; use output_mi_thunk
              for vcall thunks as well.
      
      From-SVN: r58424
      Richard Henderson committed
  19. 20 Oct, 2002 2 commits
    • target.h (struct gcc_target): Line wrap. · c590b625
      	* target.h (struct gcc_target): Line wrap.
      
      	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
      	(TARGET_ASM_OUTPUT_MI_THUNK): Define here...
      	* config/alpha/alpha.h: ... not here.
      	* config/alpha/alpha-protos.h: Update.
      
      	* config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
      	config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
      	config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
      	config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
      	config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
      	config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
      	config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
      	config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
      	config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
      	config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
      	config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
      	config/sparc/openbsd.h, config/sparc/sparc-protos.h,
      	config/sparc/sparc.c, config/sparc/sparc.h,
      	config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
      	config/stormy16/stormy16.h: Similarly.
      
      	* config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
      	selection logic from call patterns.
      
      From-SVN: r58340
      Richard Henderson committed
    • alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to match target.h. · eb0424da
      	* alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
      	match target.h.
      	* arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
      	* cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
      	* frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
      	* i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
      	x86_output_mi_thunk): Likewise.
      	* i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
      	* ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
      	* m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
      	* mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
      	* rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
      	* s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
      	* stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
      	Likewise.
      	* vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
      
      	* target.h (gcc_target): Update output_mi_thunk and
      	output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
      	vcall_index.
      
      	* config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
      	TARGET_ASM_OUTPUT_MI_THUNK in comments.
      	* config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
      	(TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
      	* config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
      	* config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
      	signature.
      	* config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
      	* config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
      	TARGET_ASM_OUTPUT_MI_THUNK in comments.
      	* config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
      	(TARGET_ASM_OUTPUT_MI_THUNK): Do define.
      	* config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
      	TARGET_ASM_OUTPUT_MI_THUNK in comments.
      	* config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
      	ASM_OUTPUT_MI_THUNK and replace with check of targetm.
      
      	* doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
      	(TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
      
      From-SVN: r58333
      Mark Mitchell committed
  20. 18 Oct, 2002 1 commit
    • target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL. · 483ab821
      	* target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
      	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
      	(TARGET_ASM_OUT): Add them.
      	* target.h (asm_out): Add output_mi_thunk and
      	output_mi_vcall_thunk.
      	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
      	* config/arm/arm.c (arm_output_mi_thunk): Define.
      	* config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
      	prototype.
      	(x86_output_mi_vcall_thunk): Declare.
      	* config/i386/i386.c (override_options): Clear
      	output_mi_vcall_thunk in 64-bit mode.
      	(ix86_fntype_regparm): New function.
      	(ix86_return_pops_args): Use it.
      	(ia32_this_parameter): New function.
      	(x86_output_mi_vcall_thunk): New function.
      	(x86_output_mi_thunk): Use it
      	* config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
      	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
      	* config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
      	* config/i960/i960.c (i960_output_mi_thunk): New function.
      	* config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
      	* config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
      	* config/ia64/ia64.c (ia64_output_mi_thunk): Define.
      	* config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
      	* config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
      	* config/s390/s390.c (s390_output_mi_thunk): Define.
      	* config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
      	* config/vax/vax.c (vax_output_mi_thunk): Define.
      	* config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
      	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
      	* doc/tm.texi: Adjust documentation.
      
      From-SVN: r58293
      Mark Mitchell committed
  21. 27 Sep, 2002 1 commit
    • LANGUAGES: Follow spelling conventions. · 0e9e1e0a
      	* LANGUAGES: Follow spelling conventions.
      	* rtl.def: Likewise.
      	* sbitmap.c: Likewise.
      	* sched-int.h: Likewise.
      	* sched-rgn.c: Likewise.
      	* sibcall.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* ssa.c: Likewise.
      	* stab.def: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* target.h: Likewise.
      	* timevar.c: Likewise.
      	* toplev.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree.c: Likewise.
      	* tree.def: Likewise.
      	* tree.h: Likewise.
      	* unroll.c: Likewise.
      	* varasm.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* treelang/treelang.texi: Likewise.
      	* treelang/treetree.c: Likewise.
      
      From-SVN: r57587
      Kazu Hirata committed
  22. 13 Sep, 2002 1 commit
    • target.h (struct gcc_target): New field terminate_dw2_eh_frame_info. · 7606e68f
              * target.h (struct gcc_target): New field
              terminate_dw2_eh_frame_info.
              * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
              (TARGET_INITIALIZER): Add it.
              * dwarf2out.c (output_call_frame_info): Use target hook.
              * dwarf2asm.c (dw2_asm_output_delta): Use macro
              ASM_OUTPUT_DWARF_DELTA if defined.
              * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
              (ASM_OUTPUT_DWARF_DELTA): Ditto.
              (ASM_OUTPUT_DWARF_OFFSET): Ditto.
              (ASM_OUTPUT_DWARF_PCREL): Ditto.
              * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
              (powerpc-*-darwin*): Ditto.
              * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
              to work correctly for Darwin.
              * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
              (STARTFILE_SPEC): Add crtbegin.o.
              (ENDFILE_SPEC): Define.
              (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
              (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
              (ASM_OUTPUT_DWARF_DELTA): Define.
              (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
              * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
      
      From-SVN: r57089
      Stan Shebs committed
  23. 07 Sep, 2002 1 commit
    • tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe. · 93638d7a
      	* doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
      	* target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
      	(TARGET_ASM_OUT): Add the above here.
      	* target.h (struct gcc_target): Add "visibility" field.
      	* varasm.c (maybe_assemble_visibility): Call targetm visibility func.
      	* config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
      	(TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
      	(rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
      
      From-SVN: r56906
      Alan Modra committed
  24. 04 Sep, 2002 1 commit
    • target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro. · 275b6d80
              * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
              * target.h (gcc_target): Add have_srodata_section member.
              * varasm.c (section_category): Add SECCAT_SRODATA.
              (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
              READONLY_SDATA_SECTION defined.
              (decl_readonly_section_1): True for SECCAT_SRODATA also.
              (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
              (default_unique_section_1): Likewise.
      
      From-SVN: r56806
      David Edelsohn committed
  25. 21 Aug, 2002 1 commit
    • alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk. · 5eb99654
      	* alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
      	* alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
      	ASM_OUTPUT_ALIGNED_BSS): Use target hook.
      	* alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
      	* alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
      	* arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
      	(GLOBAL_ASM_OP): Define.
      	* arm.c (aof_globalize_label): New function.
      	(TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
      	* arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
      	* c4x.c (c4x_globalize_label): New function.
      	(TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
      	* c4x.h (ASM_GLOBALIZE_LABEL): Delete.
      	(GLOBAL_ASM_OP): Define.
      	* cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
      	* darwin-protos.h (darwin_globalize_label): Declare.
      	* darwin.c (darwin_globalize_label): New function.
      	* darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
      	(ASM_GLOBALIZE_LABEL): Delete.
      	(GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
      	* dsp16xx.c (asm_output_common): Use target hook.
      	* elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
      	* frv.h (ASM_GLOBALIZE_LABEL): Delete.
      	(GLOBAL_ASM_OP): Define.
      	* i370.c (i370_globalize_label): New function.
      	(TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
      	* i370.h (ASM_GLOBALIZE_LABEL): Delete.
      	* i386.c (ix86_asm_file_end): Use target hook.
      	* i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
      	(ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
      	* ia64.c (ia64_asm_output_external): Likewise.
      	* ia64/sysv4.h: Update comment.
      	* m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
      	* mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
      	* mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
      	* mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
      	* mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
      	* mmix-protos.h (mmix_asm_globalize_label): Delete.
      	* mmix.c (mmix_asm_globalize_label): Likewise.
      	* mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
      	(GLOBAL_ASM_OP): Define.
      	* ns32k.c (ns32k_globalize_label): New function.
      	* ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
      	(ASM_GLOBALIZE_LABEL): Delete.
      	* pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
      	(TARGET_ASM_GLOBALIZE_LABEL): Undefine.
      	* pa.c (pa_globalize_label): New function.
      	* pa.h (ASM_GLOBALIZE_LABEL): Delete.
      	(TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
      	* rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
      	(GLOBAL_ASM_OP): Define.
      	(TARGET_ASM_GLOBALIZE_LABEL): Undef.
      	* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
      	* rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
      	(GLOBAL_ASM_OP): Define.
      	* v850.c (v850_output_aligned_bss): Use target hook.
      	* vax.c (vms_globalize_label): New function.
      	(TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
      	* vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
      	(GLOBAL_ASM_OP): Define.
      	* defaults.h (ASM_GLOBALIZE_LABEL): Delete.
      	* doc/tm.texi: Update docs.
      	* dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
      	target hook.
      	* final.c (output_alternate_entry_point): Likewise.
      	* hooks.c (hook_FILEptr_constcharptr_void): New function.
      	* hooks.h (hook_FILEptr_constcharptr_void): Declare.
      	* output.h (assemble_global): Delete.
      	(default_globalize_label): Declare.
      	* system.h (ASM_GLOBALIZE_LABEL): Poison.
      	* target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
      	(TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
      	* target.h (gcc_target): Add globalize_label member.
      	* varasm.c (asm_output_bss, asm_output_aligned_bss,
      	globalize_decl): Use target hook.
      	(assemble_global): Delete.
      	(default_globalize_label): New function.
      
      From-SVN: r56478
      Kaveh R. Ghazi committed
  26. 31 May, 2002 1 commit
    • target.h: Fix formatting. · 41077ce4
      	* target.h: Fix formatting.
      	* timevar.h: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* toplev.h: Likewise.
      	* tree.c: Likewise.
      	* tree-dump.h: Likewise.
      	* tree.h: Likewise.
      	* tree-inline.h: Likewise.
      	* unroll.c: Likewise.
      	* unwind-dw2.c: Likewise.
      	* unwind-dw2-fde.c: Likewise.
      	* unwind-dw2-fde-glibc.c: Likewise.
      	* unwind-dw2-fde.h: Likewise.
      	* unwind.h: Likewise.
      	* unwind-sjlj.c: Likewise.
      	* varasm.c: Likewise.
      	* varray.h: Likewise.
      	* vmsdbg.h: Likewise.
      	* vmsdbgout.c: Likewise.
      	* xcoffout.h: Likewise.
      
      From-SVN: r54123
      Kazu Hirata committed
  27. 22 May, 2002 1 commit
    • c-common.h (enum rid): Add RID_THREAD. · 3d78f2e9
              * c-common.h (enum rid): Add RID_THREAD.
              * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
              (grokdeclarator): Grok __thread.
              * c-parse.in (reswords): Add __thread.
              (rid_to_yy): Add RID_THREAD.
              * cp/lex.c (rid_to_yy): Add RID_THREAD.
      
              * tree.h (DECL_THREAD_LOCAL): New.
              (struct tree_decl): Add thread_local_flag.
              * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
              * tree.c (staticp): TLS variables are not static.
      
              * target-def.h (TARGET_HAVE_TLS): New.
              * target.h (have_tls): New.
              * output.h (SECTION_TLS): New.
              * varasm.c (assemble_variable): TLS variables can't be common for now.
              (default_section_type_flags): Handle .tdata and .tbss.
              (default_elf_asm_named_section): Handle SECTION_TLS.
              (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
      
              * flags.h (flag_tls_default): Declare.
              * toplev.c (flag_tls_default): Define.
              (display_help): Display help for it.
              (decode_f_option): Set it.
      
              * doc/extend.texi (Thread-Local): New node describing language-level
              thread-local storage.
              * doc/invoke.texi (-ftls-model): Document.
      
              * fixinc/inclhack.def (thread_keyword): New.
              * fixinc/fixincl.x: Rebuild.
      
      From-SVN: r53715
      Richard Henderson committed
  28. 19 May, 2002 3 commits
    • target-def.h (TARGET_BINDS_LOCAL_P): New. · 47754fd5
      	* target-def.h (TARGET_BINDS_LOCAL_P): New.
      	* target.h (struct gcc_target): Move boolean fields to the end.
      	Add binds_local_p.
      	* varasm.c (default_binds_local_p): New.
      	* output.h: Declare it.
      
      	* config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
      	* config/cris/cris.c (cris_encode_section_info): Likewise.
      	* config/i386/i386.c (i386_encode_section_info): Likewise.
      	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
      	* config/sh/sh.c (sh_encode_section_info): Likewise.
      
      	* doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
      	(TARGET_BINDS_LOCAL_P): New.
      
      From-SVN: r53620
      Richard Henderson committed
    • system.h (STRIP_NAME_ENCODING): Poison it. · 772c5265
      	* system.h (STRIP_NAME_ENCODING): Poison it.
      	* output.h (STRIP_NAME_ENCODING): Remove.
      	(default_strip_name_encoding): Declare.
      	* target-def.h (TARGET_STRIP_NAME_ENCODING): New.
      	* target.h (strip_name_encoding): New.
      	* varasm.c (default_strip_name_encoding): New.
      
      	* dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
      	config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
      	config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
      	config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
      	config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
      	config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
      	config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
      	config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
      	config/v850/v850.h: Use the hook, not the macro.
      
      	* config/darwin-protos.h, config/darwin.c, config/darwin.h,
      	config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
      	config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
      	config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
      	config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
      	config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
      	config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
      	config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
      	config/v850/v850.c, config/v850/v850.h:
      	Move STRIP_NAME_ENCODING to out-of-line function and add
      	TARGET_STRIP_NAME_ENCODING.
      
      	* config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
      	config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
      	with TARGET_STRIP_NAME_ENCODING referencing existing function;
      	make function static.
      
      	* xcoffout.c: Include target.h
      	* Makefile.in (xcoffout.o): Update.
      
      	* config/avr/avr.c (avr_encode_section_info): Correct prototype.
      	* config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
      	* config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
      	reloc argument unused.
      	* config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
      
      	* doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
      	STRIP_NAME_ENCODING docs.
      
      From-SVN: r53615
      Richard Henderson committed
    • system.h (ENCODE_SECTION_INFO): Poison it. · fb49053f
      	* system.h (ENCODE_SECTION_INFO): Poison it.
      	* target-def.h (TARGET_ENCODE_SECTION_INFO): New.
      	* target.h (encode_section_info): New.
      	* varasm.c (make_decl_rtl, output_constant_def): Use it.
      	* hooks.c (hook_tree_int_void): New.
      	* hooks.h: Declare it.
      
      	* config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
      	config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
      	config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
      	config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
      	config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
      	config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
      	config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
      	config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
      	config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
      	config/mcore/mcore-protos.h, config/mcore/mcore.c,
      	config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
      	config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
      	config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
      	config/stormy16/stormy16.c, config/stormy16/stormy16.h:
      	Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
      	referencing existing function.  Make function static.
      
      	* config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
      	config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
      	config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
      	config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
      	config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
      	config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
      	config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
      	config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
      	config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
      	config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
      	config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
      	config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
      	config/xtensa/xtensa.c, config/xtensa/xtensa.h:
      	Move ENCODE_SECTION_INFO to out-of-line function and add
      	TARGET_ENCODE_SECTION_INFO.
      
      	* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
      	(ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
      
      	* config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
      	from SUBTARGET_*
      	(switch_to_section): Replace in_rdata case with in_readonly_data.
      
      	* config/h8300/h8300.c (h8300_encode_label): Make static.
      	* config/h8300/h8300-protos.h: Update.
      
      	* config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
      	from rs6000_encode_section_info; make static.
      	(rs6000_xcoff_encode_section_info): New.
      
      	* config/v850/v850.c (v850_encode_data_area): Make static.
      	* config/v850/v850-protos.h: Update.
      
      	* config/vax/vax.c: Include flags.h.
      	(vms_select_section): Fix typo.
      
      	* doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
      	ENCODE_SECTION_INFO docs.
      
      From-SVN: r53606
      Richard Henderson committed
  29. 18 May, 2002 1 commit
    • system.h (SELECT_RTX_SECTION): Poison. · b64a1b53
      	* system.h (SELECT_RTX_SECTION): Poison.
      	* target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
      	* target.h (select_rtx_section): New.
      	* varasm.c (output_constant_pool): Use it.
      	(default_select_rtx_section, default_elf_select_rtx_section): New.
      	* output.h: Declare them.
      
      	* config/darwin.h (SELECT_RTX_SECTION): Move ...
      	* config/darwin.c (machopic_select_rtx_section): ... here.
      	* config/darwin-protos.h: Update.
      
      	* config/nextstep.h (SELECT_RTX_SECTION): Move ...
      	* config/nextstep.c (machopic_select_rtx_section): ... here.
      	(nextstep_select_section): Rename variable to avoid macro clash.
      	* config/nextstep-protos.h: Update.
      
      	* config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
      	config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
      	config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
      	config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
      	config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
      	config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
      	config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
      	config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
      	config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
      	(SELECT_RTX_SECTION): Remove.
      
      	* config/darwin.h, config/elfos.h, config/nextstep.h,
      	config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
      	config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
      	config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
      	config/sparc/lynx.h, config/xtensa/xtensa.c
      	(TARGET_ASM_SELECT_RTX_SECTION): New.
      
      	* config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
      	* config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
      	* config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
      	* config/ia64/ia64.c (ia64_select_rtx_section): ... here.
      	(ia64_aix_select_rtx_section): New.
      	* config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
      	redefining.
      	* config/mips/mips.c (mips_select_rtx_section): Make static.
      	Support ELF SHF_MERGE features.
      	* config/mips/mips-protos.h: Update.
      	* config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
      	* config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
      	(rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
      	make static, fall back to default_elf_select_rtx_section.
      	* config/rs6000/rs6000-protos.h: Update.
      	* config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
      	* config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
      	* config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
      	* config/romp/romp.c (romp_select_rtx_section): New.
      	* config/s390/s390.c (s390_select_rtx_section): New.
      	* config/xtensa/xtensa.c: Include output.h.  Shuffle local function
      	declarations before target macro definition.
      	(xtensa_emit_call): Use static buffer.
      	(xtensa_select_rtx_section): New.
      	* config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
      	(IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
      	(ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
      
      	* doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
      	SELECT_RTX_SECTION docs.
      
      From-SVN: r53600
      Richard Henderson committed
  30. 17 May, 2002 1 commit
    • hooks.c (hook_tree_bool_false): New. · ae46c4e0
      	* hooks.c (hook_tree_bool_false): New.
      	* hooks.h: Declare it.
      	* target-def.h (TARGET_ASM_SELECT_SECTION): New.
      	(TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
      	* target.h (select_section, unique_section): New.
      	(in_small_data_p): New.
      	* varasm.c (resolve_unique_section): Use hooks instead of macros.
      	(variable_section, output_constant_def_contents): Likewise.
      	(default_select_section, default_unique_section): New.
      	(categorize_decl_for_section, default_elf_select_section): New.
      	* output.h: Declare them.
      
      	* config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
      	(TARGET_ASM_SELECT_SECTION): New.
      	(SELECT_SECTION): Move ...
      	* config/darwin.c (machopic_select_section): ... here.
      	* config/darwin-protos.h: Update.
      
      	* config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
      	(SELECT_SECTION): Move ...
      	* config/nextstep.c (nextstep_select_section): ... here.
      	* config/nextstep-protos.h: Update.
      
      	* config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
      	(TARGET_ASM_SELECT_SECTION): New.
      	* config/svr3.h (SELECT_SECTION): Remove.
      
      	* config/alpha/alpha.c (unicosmk_unique_section): Make static.
      	(TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
      	(TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
      	(alpha_encode_section_info): Use it.
      	* config/alpha/alpha-protos.h: Update.
      	* config/alpha/elf.h (DO_SELECT_SECTION): Remove.
      	(SELECT_SECTION, UNIQUE_SECTION): Remove.
      	(TARGET_ASM_SELECT_SECTION): New.
      	* config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
      
      	* config/arm/pe.h (UNIQUE_SECTION): Remove.
      	(TARGET_ASM_UNIQUE_SECTION): New.
      
      	* config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
      	(avr_unique_section): Rename from unique_section; make static.
      	* config/avr/avr-protos.h: Update.
      	* config/avr/avr.h (UNIQUE_SECTION): Remove.
      
      	* config/c4x/c4x.h (SELECT_SECTION): Remove.
      
      	* config/i386/cygwin.h (UNIQUE_SECTION): Remove.
      	(TARGET_ASM_UNIQUE_SECTION): New.
      	* config/i386/i386-interix.h: Likewise.
      	* config/i386/win32.h: Likewise.
      	* config/i386/djgpp.h (UNIQUE_SECTION): Remove.
      	* config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
      	* config/i386/sco5.h (SELECT_SECTION): Remove.
      	(TARGET_ASM_SELECT_SECTION): New.
      	* config/i386/svr3gas.h (SELECT_SECTION): Remove.
      
      	* config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
      	instead of SELECT_SECTION.
      	* config/m68k/dpx2.h: Likewise.
      	* config/rs6000/lynx.h: Likewise.
      
      	* config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
      	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
      	* config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
      	(ia64_in_small_data_p): New.
      	(ia64_encode_section_info): Use it.  Reorganize overlarge conditional.
      	(ia64_aix_select_section, ia64_aix_unique_section): New.
      	* config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
      	(SELECT_SECTION, UNIQUE_SECTION): Remove.
      
      	* config/m32r/m32r.h (SELECT_SECTION): Remove.
      	(TARGET_ASM_SELECT_SECTION): New.
      	* config/m32r/m32r.c (m32r_select_section): Take align argument.
      	* config/m32r/m32r-protos.h: Update.
      
      	* config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
      	(SELECT_SECTION): Move ...
      	* config/m88k/m88k.c (m88k_select_section): ... here.
      
      	* config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
      	* config/mcore/mcore.h (UNIQUE_SECTION): Remove.
      	* config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
      	(mcore_unique_section): Make static.
      	* config/mcore/mcore-protos.h: Update.
      
      	* config/mips/elf.h (UNIQUE_SECTION): Remove.
      	(TARGET_ASM_UNIQUE_SECTION): New.
      	* config/mips/elf64.h: Likewise.
      	* config/mips/iris6gld.h: Likewise.
      	* config/mips/linux.h: Likewise.
      	* config/mips/mips-protos.h: Update.
      	* config/mips/mips.c (mips_select_section): Add align argument.
      	* config/mips/mips.h (SELECT_SECTION): Remove.
      	(TARGET_ASM_SELECT_SECTION): New.
      
      	* config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
      	* config/mmix/mmix.c (mmix_select_section): Remove.
      	(mmix_unique_section): Remove.
      	* config/mmix/mmix-protos.h: Update.
      
      	* config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
      	(SELECT_SECTION): Move ...
      	* config/pa/pa.c (pa_select_section): ... here.
      	* config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
      
      	* config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
      	from rs6000_select_section and make static.
      	(rs6000_elf_unique_section): Similarly.
      	(rs6000_xcoff_select_section): From xcoff.h.
      	(rs6000_xcoff_unique_section): Likewise.
      	* config/rs6000/rs6000-protos.h: Update.
      	* config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
      	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
      	* config/rs6000/xcoff.h: Likewise.
      
      	* config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
      	(SELECT_SECTION): Move ...
      	* config/sparc/sparc.c (sparc_aout_select_section): ... here.
      
      	* config/v850/v850.h (SELECT_SECTION): Move ...
      	* config/v850/v850.c (v850_select_section): ... here.
      	(TARGET_ASM_SELECT_SECTION): New.
      
      	* config/vax/vms.h (SELECT_SECTION): Move ...
      	* config/vax/vax.c (vms_select_section): ... here.
      	(TARGET_ASM_SELECT_SECTION): New.
      
      	* doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
      	for the target hooks.
      
      From-SVN: r53550
      Richard Henderson committed
  31. 09 May, 2002 1 commit
    • Makefile.in: Update. · 3df89291
      	* Makefile.in: Update.
      	* c-common.c (flag_iso, flag_undef, cb_register_builtins,
      	builtin_define_std): New.
      	(c_common_init): Register CPP builtins callback.
      	* c-common.h (flag_iso, flag_undef): New.
      	* c-decl.c (c_decode_option): Set flag_iso and flag_undef.
      	* c-lex.c: Don't include target.h.
      	(cb_register_builtins): Move to c-common.c.
      	(init_c_lex): Don't register hook here.
      	* c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
      	(cpp_define, cpp_assert): Remove.
      	* gcc.c (cc1_options): Pass -undef to front end.
      	* target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
      	(TARGET_INITIALIZER): Update.
      	* target.h (struct cpp_reader): Don't predeclare.
      	(struct gcc_target): Remove cpp builtin hook.
      	* tree.c (default_register_cpp_builtins): Remove.
      cp:
      	* cp-tree.h (flag_ansi): Remove.
      	* decl2.c (flag_ansi): Remove.
      	(cxx_decode_option): Set flag_iso and flag_undef.
      doc:
      	* tm.texi: Update.
      
      From-SVN: r53349
      Neil Booth committed
  32. 04 May, 2002 2 commits
    • Makefile.in (c-lex.o): Update. · 3d90d290
      	* Makefile.in (c-lex.o): Update.
      	* c-lex.c: Include target.h.
      	(cb_register_builtins): New.
      	(init_c_lex): Set builtins callback.
      	* c-lex.h (cpp_define, cpp_assert): New prototypes.
      	* cppinit.c (init_builtins): Use callback, including for
      	GXX_WEAK.
      	* cpplib.h (struct cpp_callbacks): New member.
      	* target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
      	(TARGET_INITIALIZER): Update.
      	* target.h (struct gcc_target): New hook.
      	* tree.c (default_register_cpp_builtins): New.
      	* tree.h (default_register_cpp_builtins): New.
      doc:
      	* tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
      
      From-SVN: r53165
      Neil Booth committed
    • target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete. · 14c93978
      2002-05-03  David S. Miller  <davem@redhat.com>
      
      	* target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
      	* target.h (struct gcc_target): Delete cycle_display member.
      
      From-SVN: r53138
      David S. Miller committed
  33. 29 Apr, 2002 1 commit
  34. 24 Apr, 2002 1 commit
    • attribs.c (c_common_attribute_table): Move table and handlers to c-common.c. · 349ae713
      	* attribs.c (c_common_attribute_table): Move table and handlers
      	to c-common.c.
      	(format_attribute_table, lang_attribute_table,
      	lang_attribute_common): Remove.
      	(init_attributes): Replace NULL pointers with pointers to the
      	empty table.
      	(handle_packed_attribute, handle_nocommon_attribute,
      	handle_common_attribute, handle_noreturn_attribute,
      	handle_noinline_attribute, handle_always_inline_attribute,
      	handle_used_attribute, handle_unused_attribute,
      	handle_const_attribute, handle_transparent_union_attribute,
      	handle_constructor_attribute, handle_destructor_attribute,
      	handle_mode_attribute, handle_section_attribute,
      	handle_aligned_attribute, handle_weak_attribute,
      	handle_alias_attribute, handle_visibility_attribute,
      	handle_no_instrument_function_attribute, handle_malloc_attribute,
      	handle_no_limit_stack_attribute, handle_pure_attribute,
      	handle_deprecated_attribute, handle_vector_size_attribute,
      	vector_size_helper): Move to c-common.c.
      	* c-common.c (c_common_attribute_table,
      	handle_packed_attribute, handle_nocommon_attribute,
      	handle_common_attribute, handle_noreturn_attribute,
      	handle_noinline_attribute, handle_always_inline_attribute,
      	handle_used_attribute, handle_unused_attribute,
      	handle_const_attribute, handle_transparent_union_attribute,
      	handle_constructor_attribute, handle_destructor_attribute,
      	handle_mode_attribute, handle_section_attribute,
      	handle_aligned_attribute, handle_weak_attribute,
      	handle_alias_attribute, handle_visibility_attribute,
      	handle_no_instrument_function_attribute, handle_malloc_attribute,
      	handle_no_limit_stack_attribute, handle_pure_attribute,
      	handle_deprecated_attribute, handle_vector_size_attribute,
      	vector_size_helper): Move from attribs.c.
      	* c-common.h (c_common_attribute_table,
      	c_common_format_attribute_table): New.
      	* c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
      	LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
      	* langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
      	LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
      	(LANG_HOOKS_INITIALIZER): Update.
      	* langhooks.h (struct lang_hooks): 3 new attribute hooks.
      	* target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
      	* target.h: Update comment.
      	* tree.c (default_target_attribute_table): Remove.
      	* tree.h (default_target_attribute_table, format_attribute_table,
      	lang_attribute_table, lang_attribute_common): Remove.
      ada:
      	* misc.c (gnat_init): Don't set lang_attribute_common.
      cp:
      	* cp-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
      	LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE):
      	Redefine.
      	* cp-tree.h (cp_attribute_table): Rename.
      	* decl.c (lang_attribute_table): Remove declaration.
      	(cxx_init_decl_processing): Don't set it.
      	* tree.c (cp_attribute_table): Rename.
      objc:
      	* objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
      	LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
      
      From-SVN: r52730
      Neil Booth committed
  35. 09 Feb, 2002 1 commit
    • hooks.c: New file. · e4ec2cac
      * hooks.c: New file.
      * hooks.h: New file.
      * Makefile.in (HOOKS_H): New.
      (TARGET_DEF_H): Added $(HOOKS_H).
      (OBJS): Added hooks.o.
      (cfgcleanup.o, bb-reorder.o): Added target.h.
      (hooks.o): Added dependencies.
      * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
      (TARGET_INITIALIZER): this.
      * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
      * target.h (struct gcc_target): Added cannot_modify_jumps_p.
      * bb-reorder.c: Include target.h.
      (reorder_basic_blocks): Skip if cannot modify jumps.
      * cfgcleanup.c: Include target.h.
      (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
      
      From-SVN: r49627
      Alexandre Oliva committed