summaryrefslogtreecommitdiffstats
path: root/gcc/config/darwin.c
Commit message (Collapse)AuthorAgeFilesLines
* * config/rs6000/rs6000.md: Remove warning.geoffk2003-01-221-4/+8
| | | | | | | | | | (builtin_setjmp_receiver): Likewise. * config/darwin.c (update_stubs): Slightly improve terrible hack with identifiers. Add comment pointing out problems with it. (update_non_lazy_ptrs): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61585 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge from pch-branch.geoffk2003-01-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61136 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge basic-improvements-branch to trunkzack2002-12-161-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60174 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.def: Fix comment formatting.kazu2002-09-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-common.def: Likewise. * cfgcleanup.c: Likewise. * combine.c: Likewise. * gengtype.c: Likewise. * params.def: Likewise. * predict.def: Likewise. * rtl.def: Likewise. * stab.def: Likewise. * stor-layout.c: Likewise. * tree.def: Likewise. * config/darwin.c: Likewise. * config/darwin.h: Likewise. * config/dbxcoff.h: Likewise. * config/elfos.h: Likewise. * config/fp-bit.c: Likewise. * config/freebsd-spec.h: Likewise. * config/interix.h: Likewise. * config/libgloss.h: Likewise. * config/linux-aout.h: Likewise. * config/linux.h: Likewise. * config/lynx-ng.h: Likewise. * config/lynx.h: Likewise. * config/netbsd-aout.h: Likewise. * config/netbsd.h: Likewise. * config/netware.h: Likewise. * config/psos.h: Likewise. * config/ptx4.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57624 138bc75d-0d04-0410-961f-82ee72b054a4
* * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.hghazi2002-09-161-3/+1
| | | | | | | | | | | instead of the *-protos.h file directly. * t-c4x, t-i370, t-v850: Depend on $(TM_P_H). * darwin.c (machopic_output_stub): Move prototype ... * darwin-protos.h (machopic_output_stub): ... here. * rs6000-protos.h (machopic_output_stub): Don't declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57201 138bc75d-0d04-0410-961f-82ee72b054a4
* * target.h (struct gcc_target): New fieldshebs2002-09-131-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57089 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/darwin.c (machopic_finish): Remove #if 0 chunks.shebs2002-09-121-20/+1
| | | | | | | (machopic_operand_p): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57079 138bc75d-0d04-0410-961f-82ee72b054a4
* * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.ghazi2002-08-211-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56478 138bc75d-0d04-0410-961f-82ee72b054a4
* * darwin-c.c (darwin_pragma_options): Const-ify.ghazi2002-08-111-8/+10
| | | | | | | | | | | | | * darwin.c (machopic_non_lazy_ptr_name, machopic_validate_stub_or_non_lazy_ptr): Likewise. (machopic_indirect_data_reference): Wrap variables in macros controlling their use. (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify. (machopic_select_section): Use parentheses around && within ||. * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56211 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (i[34567]86-*-darwin*): New configuration.shebs2002-07-311-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before defining. (TARGET_ENCODE_SECTION_INFO): Ditto. (ASM_PREFERRED_EH_DATA_FORMAT): Ditto. * config/darwin.c (machopic_indirect_data_reference): Remove setting of RTX_UNCHANGING_P. (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as * config/i386/t-darwin: New file. * config/i386/darwin.h: New file. * config/i386/i386.h (TARGET_MACHO): Add default definition. * config/i386/i386.md (tablejump): Add TARGET_MACHO case. * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O label and not the GOT add. (constant_address_p): For Mach-O, seeing a CONST is enough. (legitimate_pic_address_disp_p): Add a Mach-O case. (legitimate_address_p): Also test machopic_operand_p if Mach-O. (legitimize_pic_address): Use generic Mach-O code to legitimize. (output_pic_addr_const): Suppress @PLT if Mach-O, and parens if outputting a difference. (ix86_output_addr_diff_elt): Add Mach-O case. (ix86_expand_move): Similarly. (ix86_expand_call): Similarly. (current_machopic_label_num): New global. (machopic_output_stub): New function. (ix86_value_regno): New function. (ix86_function_value): Use it instead of VALUE_REGNO. (ix86_libcall_value): Ditto. * config/i386/unix.h (VALUE_REGNO): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55916 138bc75d-0d04-0410-961f-82ee72b054a4
* * darwin.c (func_name_maybe_scoped): Remove unused decl.shebs2002-07-161-5/+3
| | | | | | | | | | (machopic_function_base_name): Declare result to be const. (machopic_non_lazy_ptr_name): Ditto. (machopic_stub_name): Ditto. * darwin-protos.h: Ditto for the prototypes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55501 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge from pch-branch up to tag pch-commit-20020603.geoffk2002-06-041-13/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54232 138bc75d-0d04-0410-961f-82ee72b054a4
* * system.h (STRIP_NAME_ENCODING): Poison it.rth2002-05-191-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53615 138bc75d-0d04-0410-961f-82ee72b054a4
* * system.h (SELECT_RTX_SECTION): Poison.rth2002-05-181-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53600 138bc75d-0d04-0410-961f-82ee72b054a4
* * hooks.c (hook_tree_bool_false): New.rth2002-05-171-1/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53550 138bc75d-0d04-0410-961f-82ee72b054a4
* * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;rth2002-03-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | invoke ENCODE_SECTION_INFO with first call flag. * config/darwin-protos.h, config/darwin.c, config/darwin.h, config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h, config/arm/arm.h, config/arm/pe.c, 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/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h, config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h, config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c, 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/m88k/m88k.h, config/mcore/mcore-protos.h, config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h, config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h, config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c, config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h, config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes FIRST argument. As needed, examine it and do nothing. * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h, config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/mcore/mcore.h: Remove REDO_SECTION_INFO_P. * config/arm/t-pe (pe.o): Add dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50236 138bc75d-0d04-0410-961f-82ee72b054a4
* * darwin.c (machopic_output_possible_stub_label): Don't generateturly2002-01-031-0/+2
| | | | | | | stub routines for pseudo-stubs which we've just defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48513 138bc75d-0d04-0410-961f-82ee72b054a4
* * darwin.c (machopic_classify_ident): Handle "stale" section-turly2001-12-211-75/+60
| | | | | | | | | | | | | | encoded name problem to avoid generating illegal stubs. (func_name_maybe_scoped): Remove, not needed for gcc3. (machopic_indirect_call_target): Don't use it. (darwin_encode_section_info): Call only one of update_stubs() or update_non_lazy_ptrs() as DECL cannot be both. (machopic_output_possible_stub_label): New. * darwin.h (ASM_DECLARE_FUNCTION_NAME): Use it. * darwin-protos.h (machopic_output_possible_stub_label): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48238 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lang.c (LANG_HOOKS_NAME): New.neil2001-11-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (lang_hooks): Constify. (c_init_options): Update. (lang_identify): Remove. * c-parse.in (language_string): Remove. * dbxout.c: Include langhooks.h. (dbxout_symbol_location): Update. * dwarf2out.c: Include langhooks.h. (gen_compile_unit_die): Update. * dwarfout.c: Include langhooks.h. (prototyped_attribute, output_compile_unit_die): Update. * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New. (LANG_HOOKS_INITIALIZER): Update. * langhooks.h (struct lang_hooks): New members. Constify. * stringpool.c: Don't include toplev.h. (set_identifier_size): Remove. * toplev.c (toplev_main): Initialize identifier size. (print_version): Update. * tree.h (language_string, init_lex, lang_identify, set_identifier_size): Remove. * Makefile.in: Update dependencies. * config/darwin.c: Include langhooks.h. (func_name_maybe_scoped): Update. * config/darwin.h (ASM_END_FILE): Update. * config/nextstep.h (ASM_END_FILE): Update. * config/nextstep21.h (ASM_END_FILE): Update. * config/i386/sun386.h (ASM_END_FILE): Update. * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h. (rs6000_output_function_epilogue): Update. ada: * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override. (struct lang_hooks): Constify. (language_string, lang_identify): Remove. * utils.c (init_decl_processing): Update. cp: * cp-lang.c (LANG_HOOKS_NAME): Override. (struct lang_hooks): Constify. * lex.c (cxx_init_options): Update. (lang_identify): Remove. * parse.y (language_string): Remove. f: * com.c (language_string, lang_identify): Remove. (struct lang_hooks): Constify. (LANG_HOOKS_NAME): Override. (init_parse): Update. java: * jcf-parse.c (init_lex): Remove. * lang.c (language_string, lang_identify): Remove. (struct lang_hooks): Constify. (LANG_HOOKS_NAME): Override. (init_parse): Update. objc: * objc-act.c (LANG_HOOKS_NAME): Override. (struct lang_hooks): Constify. (objc_init_options): Update. (lang_identify): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46874 138bc75d-0d04-0410-961f-82ee72b054a4
* * darwin-protos.h (constructor_section, destructor_section,ghazi2001-10-231-4/+4
| | | | | | | | | | | | | | | | | mod_init_section, mod_term_section): Prototype. * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify. * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME): Likewise. (SECTION_FUNCTION): Prototype `FUNCTION'. Delete objc_section_init declaration. (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init. (objc_section_init, try_section_alias): Make static. (alias_section): Make static and hide unused function. (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46447 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-format.c (maybe_read_dollar_number): Use safe-ctype macrosghazi2001-10-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and/or fold extra calls into fewer ones. * collect2.c (dump_file): Likewise. * cppexp.c (parse_number): Likewise. * cpplex.c (_cpp_lex_direct): Likewise. * final.c (output_asm_insn, asm_fprintf): Likewise. * fix-header.c (inf_scan_ident, main): Likewise. * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix): Likewise. * fold-const.c (real_hex_to_f): Likewise. * gen-protos.c (parse_fn_proto): Likewise. * genattrtab.c (check_attr_test, check_attr_value): Likewise. * genrecog.c (change_state, write_action): Likewise. * gensupport.c (shift_output_template): Likewise. * local-alloc.c (requires_inout): Likewise. * mips-tfile.c (IS_ASM_IDENT): Likewise. * protoize.c (is_id_char, main): Likewise. * real.c (asctoeg): Likewise. * recog.c (asm_operand_ok): Likewise. * reload.c (find_reloads): Likewise. * scan.c (scan_identget_token): Likewise. * sched-vis.c (print_value): Likewise. * stringpool.c (ggc_alloc_string): Likewise. * toplev.c (read_integral_parameter, decode_g_option): Likewise. * tradcif.y (parse_number, yylex, parse_escape): Likewise. * tradcpp.c (rescan): Likewise. * tree.c (clean_symbol_name): Likewise. * varasm.c (decode_reg_name): Likewise. * alpha.h (ASM_OUTPUT_ASCII): Likewise. * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise. * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise. * m88k.c (output_ascii): Likewise. * m88k.h (OVERRIDE_OPTIONS): Likewise. * mcore.h (REG_CLASS_FROM_LETTER): Likewise. * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise. * sh.h (REG_CLASS_FROM_LETTER): Likewise. cp: * xref.c (GNU_xref_member): Use safe-ctype macros and/or fold extra calls into fewer ones. f: * bad.c (ffebad_finish): Use safe-ctype macros and/or fold extra calls into fewer ones. * implic.c (ffeimplic_lookup_): Likewise. * intdoc.c (dumpimp): Likewise. * intrin.c (ffeintrin_init_0): Likewise. * lex.c (ffelex_backslash_, ffelex_cfebackslash_, ffelex_hash_): Likewise. * lex.h (ffelex_is_firstnamechar): Likewise. * target.c (ffetarget_integerhex): Likewise. java: * gjavah.c (jni_print_char, decode_signature_piece): Use safe-ctype macros and/or fold extra calls into fewer ones. * lex.c (java_read_unicode, java_lex): Likewise. * lex.h (JAVA_START_CHAR_P, JAVA_PART_CHAR_P, JAVA_ASCII_DIGIT, JAVA_ASCII_HEXDIGIT, JAVA_ASCII_LETTER): Likewise. * mangle_name.c (append_unicode_mangled_name, unicode_mangling_length): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46397 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/darwin.h (GCC_NAME): Remove, no longer used.shebs2001-10-161-1/+2
| | | | | | | | | | | | | | | (NO_MATH_LIBRARY): Ditto. (MATH_LIBRARY): Define to emptiness. (DWARF2_DEBUGGING_INFO): Define. (PREFERRED_DEBUGGING_TYPE): Define. (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section. (EXCEPTION_SECTION): Define. (ASM_PREFERRED_EH_DATA_FORMAT): Define. * config/darwin.c (darwin_encode_section_info): Handle case of DECL_INITIAL being error_mark_node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46300 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.shebs2001-09-041-2/+10
| | | | | | | | * config/darwin.c (machopic_stub_name): Account for internally generated lib calls such as memcpy. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45385 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-08-28 Dale Johannesen <dalej@apple.com>shebs2001-08-291-2/+3
| | | | | | | | | * config/darwin.c (machopic_function_base_name): Add const qualifier to a string. (darwin_encode_section_info): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45253 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,rth2001-08-181-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ... * dwarf2asm.c: ... here. * dwarfout.c: Remove them. * varasm.c (assemble_integer): Add align parameter. (assemble_real, output_constant, output_constructor): Likewise. * output.h: Update decls. * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c, config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c, config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h, config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md: Update all callers. * final.c (end_final): Abort profile block generation if we havn't layed it out properly. * output.h (assemble_eh_integer): Remove stale decl. * varasm.c (assemble_zeros): Tidy; use assemble_integer. (min_align): New. (assemble_integer): Handle unaligned data. (assemble_real): Abort on unaligned data. (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does anything useful. (default_dtor_section_asm_out_destructor): Use assemble_align. (default_named_section_asm_out_constructor): Likewise. (default_ctor_section_asm_out_constructor): Likewise. * config/darwin.c (machopic_asm_out_constructor): Likewise. (machopic_asm_out_destructor): Likewise. * config/nextstep.c (nextstep_asm_out_constructor): Likewise. (nextstep_asm_out_destructor): Likewise. * config/alpha/alpha.c (vms_asm_out_constructor): Likewise. (vms_asm_out_destructor): Likewise. * java/class.c (emit_register_classes): Add align parameter to call to assemble_integer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44992 138bc75d-0d04-0410-961f-82ee72b054a4
* Move constructor/destructor handling into target hooks.rth2001-08-091-0/+30
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44747 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/darwin.c (machopic_stub_name): Try matching by name.shebs2001-08-021-3/+38
| | | | | | | | | (update_stubs): New function. (darwin_encode_section_info): Call it and update_non_lazy_ptrs unconditionally. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44562 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/darwin.c (darwin_encode_section_info): Don't mark anyshebs2001-07-101-0/+1
| | | | | | | DECL_EXTERNAL node as defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43885 138bc75d-0d04-0410-961f-82ee72b054a4
* * darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, removeshebs2001-07-031-4/+0
| | | | | | | | | | case for flag_no_mach_text_sections. (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION. * darwin.c (flag_no_mach_text_sections): Remove. * darwin-protos.h (darwin_init_pragma): Remove decl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43734 138bc75d-0d04-0410-961f-82ee72b054a4
* * explow.c (plus_constant_wide, case LO_SUM): New case.kenner2001-07-031-10/+4
| | | | | | | | | | | | | | | | (plus_constant_for_output_wide): Delete. * rtl.h (plus_constant_for_output): Delete. * alias.c (canon_rtx, init_alias_analysis): Call plus_constant instead of plus_constant_for_output. * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise. * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise. * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise. * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise. * config/sparc/sparc.md: Likewise. Convert some change_address calls to adjust_address. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43720 138bc75d-0d04-0410-961f-82ee72b054a4
* * darwin.c (darwin_encode_section_info): Rewrite to simplifyshebs2001-06-111-22/+33
| | | | | | | and fix coding mistakes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43200 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/darwin.h (ENCODE_SECTION_INFO): Define.shebs2001-06-081-46/+116
| | | | | | | | | | | | | | | | | | | | | | | | (REDO_SECTION_INFO_P): Ditto. (STRIP_NAME_ENCODING): Ditto. (ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO. (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto. (ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING. (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto. * config/darwin.c: No longer include c-tree.h. (machopic_classify_ident): Rewrite to use symbol encoding. (lookup_name_darwin): Remove. (machopic_non_lazy_ptr_name): Handle encoded symbols. (machopic_stub_name): Use STRIP_NAME_ENCODING. (machopic_validate_stub_or_non_lazy_ptr): Ditto. (machopic_finish): Ditto, remove test of decl. (update_non_lazy_ptrs): New function. (darwin_encode_section_info): New function. * config/darwin-protos.h: Declare it. * config/rs6000/rs6000.c (machopic_output_stub): Use STRIP_NAME_ENCODING. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42994 138bc75d-0d04-0410-961f-82ee72b054a4
* Add Darwin (Mac OS X kernel) native support.shebs2001-04-121-0/+1002
* config.gcc (powerpc-*-darwin*): Add native bits. * config/darwin.c: New file, generic Darwin support functions. * config/darwin.h: New file, generic Darwin definitions. * config/darwin-protos.h: New file, generic Darwin prototypes. * rs6000/darwin.h: New file, Darwin for PowerPC. * rs6000/t-darwin: New file, Darwin makefile fragment. * rs6000/rs6000.h (OBJECT_MACHO): New macro. (TARGET_MACHO): Ditto. (rs6000_abi): Add ABI_DARWIN. (RS6000_REG_SAVE): Add ABI_DARWIN case. (RS6000_SAVE_AREA): Ditto. (FP_ARG_MAX_REG): Ditto. (RETURN_ADDRESS_OFFSET): Ditto. * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO cases. (rs6000_emit_move): Add ABI_DARWIN cases. (print_operand): Ditto. (first_reg_to_save): Ditto. (rs6000_stack_info): Ditto, also align stack by 16 instead of 8. (debug_stack_info): Ditto. (rs6000_emit_prologue): Ditto. (rs6000_emit_epilogue): Ditto. (output_profiler_hook): Ditto. (output_function_profiler): Ditto. (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO. (output_mi_thunk): Add TARGET_MACHO case. (add_compiler_stub): Ditto. (output_compiler_stub): Ditto. (no_previous_def): Ditto. (output_call): Ditto. (machopic_output_stub): Ditto. (rs6000_machopic_legitimize_pic_address): Ditto. (toc_section): Ditto. * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern. (macho_high): Ditto. (macho_low): Ditto. (movsi_low): Ditto. (load_macho_picbase): Ditto. (call): Add TARGET_MACHO case to modify function. (call_value): Ditto. (call_nonlocal_sysv): Add ABI_DARWIN case. (call_value_nonlocal_sysv): Ditto. * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address): Add prototype. (machopic_output_stub): Ditto. * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41277 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud