rsandifo [Wed, 7 Dec 2005 07:53:14 +0000 (07:53 +0000)]
* config/alpha/alpha.c (alpha_start_function): Use switch_to_section.
(alpha_elf_select_rtx_section): Return the selected section rather
than emitting assembly code.
(alpha_write_linkage): Emit a ".link" directive directly and then
set in_section to NULL.
(vms_asm_out_constructor): Use switch_to_section.
(vms_asm_out_destructor): Likewise.
(unicosmk_output_common): Set in_section to NULL instead of calling
the dummy common_section function.
(unicosmk_text_section): Delete in favor of...
(unicosmk_output_text_section_asm_op): ...this new function.
(unicosmk_data_section): Delete in favor of...
(unicosmk_output_data_section_asm_op): ...this new function.
(unicosmk_init_sections): New function.
(unicosmk_output_deferred_case_vectors): Use switch_to_section.
(unicosmk_output_ssib): Set in_section to NULL instead of calling
the dummy ssib_section function.
(unicosmk_section_buf): Delete.
* config/alpha/alpha-protos.h (unicosmk_text_section): Delete.
(unicosmk_data_section): Delete.
* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, sbss_section, sdata_section)
(SECTION_FUNCTION_TEMPLATE): Delete.
* config/alpha/unicosmk.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP)
(READONLY_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(common_section, COMMON_SECTION, ssib_section, SSIB_SECTION): Delete.
(ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
(TARGET_ASM_INIT_SECTIONS): Define.
* config/alpha/vms.h (LINK_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP)
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(link_section, literals_section): Delete.
(ASM_OUTPUT_DEF): Emit the ".literal" directive directly and then
set in_section to NULL.
* config/arm/aof.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Delete.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, ZERO_INIT_SECTION): Delete.
(COMMON_SECTION): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
(ASM_OUTPUT_COMMON): Set in_section to NULL rather than calling
the dummy common_section function.
* config/arm/aout.h (ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
* config/arm/arm.c (get_jump_table_size): Use pointer comparison
between readonly_data_section and text_section to check whether
read-only data is being put in the text section.
(arm_output_function_epilogue): Use switch_to_section.
(arm_elf_asm_constructor): Likewise.
(thumb_call_via_reg): Replace call to in_text_section with
a comparison between in_section and text_section.
(arm_file_end): Use switch_to_section.
(aof_text_section): Delete in favor of...
(aof_output_text_section_asm_op): ...this new function.
(aof_data_section): Delete in favor of...
(aof_output_data_section_asm_op): ...this new function.
(aof_asm_init_sections): New function.
(zero_init_section): Moved from config/arm/aof.h.
(aof_dump_imports, aof_file_start): Use switch_to_section.
* config/arm/arm.h (thumb_call_via_label): Update comment.
* config/arm/arm-protos.h (aof_text_section, aof_data_section): Delete.
(common_section): Delete.
* config/arm/pe.h (ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.
(ASM_DECLARE_OBJECT_NAME): Update the type of save_section. Use the
global switch_to_section function instead of the old port-local one.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, DRECTVE_SECTION_FUNCTION)
(SWITCH_TO_SECTION_FUNCTION): Delete.
(drectve_section): Redefine as a macro.
* config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS):
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use get_named_section and
switch_to_section.
* config/avr/avr.c (progmem_section): New variable.
(avr_output_progmem_section_asm_op): New function.
(avr_asm_init_sections): New function.
(avr_output_addr_vec_elt): Use switch_to_section.
* config/avr/avr.h (progmem_section): Declare.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(READONLY_DATA_SECTION): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
(ASM_OUTPUT_CASE_LABEL): Use switch_to_section.
* config/avr/avr-protos.h (progmem_section): Delete.
* config/bfin/bfin.h (ASM_OUTPUT_LOCAL): Use switch_to_section.
* config/c4x/c4x.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(INIT_SECTION_FUNCTION, FINI_SECTION_FUNCTION): Delete.
* config/darwin-sections.def: New file.
* config/darwin.c: Define all sections in darwin-sections.def.
(output_objc_section_asm_op, darwin_init_sections): New functions.
(machopic_output_indirection): Use switch_to_section.
(machopic_select_section): Return the selected section rather than
emitting assembly code. Replace the static function table with
inline conditional expressions. Update the tests of last_text_section
and move them into the FUNCTION_DECL block.
(machopic_select_rtx_section): Return the selected section rather than
emitting assembly code.
(machopic_asm_out_constructor, machopic_asm_out_destructor)
(darwin_file_end): Use switch_to_section.
* config/darwin.h: Use darwin-sections.def to declare sections.
(INIT_SECTION_ASM_OP): Remove empty definition.
(HAS_INIT_SECTION): Define this instead.
(SECTION_FUNCTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(READONLY_DATA_SECTION, TARGET_ASM_EXCEPTION_SECTION): Delete.
(TARGET_ASM_EH_FRAME_SECTION): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
* config/darwin-protos.h (darwin_init_sections): Declare.
(machopic_picsymbol_stub_section, machopic_picsymbol_stub1_section)
(machopic_symbol_stub_section, machopic_symbol_stub1_section): Delete.
(machopic_lazy_symbol_ptr_section, machopic_nl_symbol_ptr_section)
(constructor_section, destructor_section, mod_init_section): Delete.
(mod_term_section): Delete.
(darwin_exception_section, darwin_eh_frame_section): Delete.
(machopic_select_section): Return a section.
(machopic_select_rtx_section): Likewise.
(text_coal_section, text_unlikely_section, text_unlikely_coal_section)
(const_section, const_coal_section, const_data_section): Delete.
(const_data_coal_section, data_coal_section, cstring_section): Delete.
(literal4_section, literal8_section, constructor_section): Delete.
(mod_init_section, mod_term_section, destructor_section): Delete.
(objc_class_section, objc_meta_class_section, objc_category_section)
(objc_class_vars_section, objc_instance_vars_section): Delete.
(objc_cls_meth_section, objc_inst_meth_section): Delete.
(objc_cat_cls_meth_section, objc_cat_inst_meth_section): Delete.
(objc_selector_refs_section, objc_selector_fixup_section): Delete.
(objc_symbols_section, objc_module_info_section): Delete.
(objc_image_info_section, objc_protocol_section): Delete.
(objc_string_object_section, objc_constant_string_object_section)
(objc_class_names_section, objc_meth_var_names_section): Delete.
(objc_meth_var_types_section, objc_cls_refs_section): Delete.
(machopic_lazy_symbol_ptr_section, machopic_nl_symbol_ptr_section)
(machopic_symbol_stub_section, machopic_picsymbol_stub_section)
(darwin_exception_section, darwin_eh_frame_section): Delete.
* config/t-darwin (darwin.o): Depend on config/darwin-sections.def.
* config/frv/frv.c (frv_asm_out_constructor): Use switch_to_section.
(frv_asm_out_destructor): Likewise.
* config/frv/frv.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(SDATA_SECTION_FUNCTION, FIXUP_SECTION_FUNCTION): Delete.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use switch_to_section and
get_named_section.
(ASM_OUTPUT_CASE_LABEL): Use switch_to_section.
* config/frv/frv-protos.h (fixup_section, sdata_section, sbss_section)
(data_section): Delete.
* config/i386/cygming.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(DRECTVE_SECTION_FUNCTION): Delete.
(drectve_section): Redefine as a macro that sets in_section after
emitting the directive.
(SWITCH_TO_SECTION_FUNCTION): Delete.
* config/i386/darwin.h (ASM_OUTPUT_ALIGN): Replace call to
in_text_section with comparison between in_section and text_section.
* config/i386/i386.c (x86_64_elf_select_section): Return the section
rather than emitting assembly code. Use get_named_section.
(x86_output_aligned_bss, ix86_file_end): Use switch_to_section and
get_named_section.
(machopic_output_stub): Use switch_to_section.
* config/i386/nwld.c (nwld_named_section_asm_out_constructor)
(nwld_named_section_asm_out_destructor): Use get_section and
switch_to_section.
* config/ia64/ia64.c (ia64_select_rtx_section): Return the section
rather than emitting assembly code.
(ia64_rwreloc_select_section): Likewise.
(ia64_rwreloc_select_rtx_section): Likewise.
* config/ia64/ia64-protos.h (sdata_section, sbss_section): Delete.
* config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
switch_to_section.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Delete.
* config/iq2000/iq2000.c (iq2000_select_rtx_section): Return the
section rather than emitting assembly code.
(iq2000_select_section): Likewise.
* config/iq2000/iq2000.h (rdata_section, sdata_section): Delete.
(sbss_section): Delete.
* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use switch_to_section
and get_named_section.
* config/m32r/m32r-protos.h (sbss_section, sdata_section): Delete.
* config/mcore/mcore-elf.h (EXPORTS_SECTION_ASM_OP): Delete.
(SUBTARGET_EXTRA_SECTIONS, SUBTARGET_EXTRA_SECTION_FUNCTIONS): Delete.
(EXPORT_SECTION_FUNCTION, SUBTARGET_SWITCH_SECTIONS): Delete.
(MCORE_EXPORT_NAME): Emit the exports directive directly, then set
in_section to NULL.
(ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.
(ASM_DECLARE_OBJECT_NAME): Update the type of save_section. Use the
global switch_to_section function instead of the old port-local one.
* config/mcore/mcore.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(SWITCH_SECTION_FUNCTION): Delete.
* config/mcore/mcore-pe.h (SUBTARGET_SWITCH_SECTIONS): Delete.
(DRECTVE_SECTION_ASM_OP, SUBTARGET_EXTRA_SECTIONS): Delete.
(SUBTARGET_EXTRA_SECTION_FUNCTIONS, DRECTVE_SECTION_FUNCTION): Delete.
(MCORE_EXPORT_NAME): Emit ".section .drectve" directly, then set
in_section to NULL.
(ASM_DECLARE_OBJECT_NAME): Update the type of save_section. Use the
global switch_to_section function instead of the old port-local one.
(ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.
* config/mips/mips.c (mips_file_start): Update comment.
(mips_output_aligned_bss): Use switch_to_section and get_named_section.
(mips_output_aligned_decl_common): Use switch_to_section.
(mips_select_rtx_section): Return the section rather than emitting
assembly code. Use get_named_section.
(mips_function_rodata_section: Likewise get_section.
(build_mips16_function_stub): Use switch_to_section.
* config/mips/mips.h (ASM_OUTPUT_IDENT): Use switch_to_section.
(SDATA_SECTION_ASM_OP): Delete.
* config/mips/vxworks.h (EXTRA_SECTIONS): Delete.
(EXTRA_SECTION_FUNCTIONS): Delete.
* config/mmix/mmix.c (mmix_file_start, mmix_file_end)
(mmix_asm_output_aligned_local): Use switch_to_section.
* config/pa/pa.c (som_readonly_data_section, som_one_only_data_section)
(som_one_only_readonly_data_section): New variables.
(pa_output_function_epilogue): Set in_section to NULL instead of
calling forget_section.
(output_deferred_plabels): Use select_section.
(pa_asm_output_mi_thunk): Likewise. Set in_section to NULL instead
of calling forget_section.
(pa_asm_output_aligned_bss, pa_asm_output_aligned_common)
(pa_asm_output_aligned_local): Use select_section.
(som_text_section_asm_op): Delete in favor of...
(som_output_text_section_asm_op): ...this new function.
(pa_som_asm_init_sections): New function.
(pa_select_section): Return the section rather than emitting
assembly code.
* config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(SOM_READONLY_DATA_SECTION_FUNCTION): Delete.
(SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION): Delete.
(SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): Delete.
* config/pa/pa-protos.h (som_text_section_asm_op): Delete.
(som_readonly_data_section, som_one_only_readonly_data_section)
(som_one_only_data_section, forget_section): Delete.
* config/pa/som.h (TEXT_SECTION_ASM_OP): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
(READONLY_DATA_SECTION, TARGET_ASM_EXCEPTION_SECTION): Delete.
* config/rs6000/rs6000.c (read_only_data_section): New variable.
(private_data_section, read_only_private_data_section): New variables.
(sdata2_section, toc_section): New variables.
(rs6000_file_start): Use switch_to_section.
(rs6000_assemble_integer): Use comparisons against in_section
instead of calling in_toc_section and in_text_section. Use
unlikely_text_section_p.
(rs6000_elf_output_toc_section_asm_op): New function, derived
from the old rs6000/sysv4.h toc_section function.
(rs6000_elf_asm_init_sections): New function.
(rs6000_elf_select_rtx_section, rs6000_elf_select_section): Return
the section rather than emitting assembly code.
(machopic_output_stub): Use switch_to_section.
(toc_section): Delete dummy function.
(rs6000_elf_asm_out_constructor, rs6000_elf_asm_out_destructor): Use
switch_to_section and get_section.
(rs6000_xcoff_output_readonly_section_asm_op): New function.
(rs6000_xcoff_output_readwrite_section_asm_op): New function.
(rs6000_xcoff_output_toc_section_asm_op): New function, derived from
the old rs6000/xcoff.h toc_section function.
(rs6000_xcoff_asm_init_sections): New function.
(rs6000_xcoff_select_section, rs6000_xcoff_select_rtx_section): Return
the section rather than emitting assembly code.
(rs6000_xcoff_file_start): Use switch_to_section.
(rs6000_xcoff_file_end): Likewise.
* config/rs6000/rs6000-protos.h (toc_section, sdata_section): Delete.
(sdata2_section, sbss_section, private_data_section): Delete.
(read_only_data_section, read_only_private_data_section): Delete.
* config/rs6000/sysv4.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(TOC_SECTION_FUNCTION, SDATA_SECTION_FUNCTION, SDATA2_SECTION_FUNCTION)
(SBSS_SECTION_FUNCTION, INIT_SECTION_FUNCTION): Delete.
(FINI_SECTION_FUNCTION): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
(ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
* config/rs6000/xcoff.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(READ_ONLY_DATA_SECTION_FUNCTION, PRIVATE_DATA_SECTION_FUNCTION)
(READ_ONLY_PRIVATE_DATA_SECTION_FUNCTION, TOC_SECTION_FUNCTION)
(READONLY_DATA_SECTION): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
(ASM_DECLARE_FUNCTION_NAME): Use switch_to_section. Set in_section
to NULL rather than no_section.
(TARGET_ASM_EXCEPTION_SECTION): Delete.
* config/sh/sh.c (sh_file_start): Use switch_to_section.
* config/sparc/sparc.c (emit_pic_helper): Use switch_to_section.
(sparc_output_deferred_case_vectors): Likewise. Remove argument
from call to current_function_section.
* config/stormy16/stormy16.c: Include ggc.h and gt-storm16.h.
(bss100_section): New variable.
(xstormy16_asm_output_aligned_common): Use switch_to_section.
(xstormy16_asm_init_sections): New function.
(xstormy16_asm_out_destructor, xstormy16_asm_out_constructor): Use
switch_to_section and get_section.
(xstormy16_output_addr_vec): Use switch_to_section. Remove argument
from calls to current_function_section.
* config/stormy16/stormy16.h (EXTRA_SECTIONS): Delete.
(XSTORMY16_SECTION_FUNCTION, EXTRA_SECTION_FUNCTIONS): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
* config/stormy16/stormy16-protos.h (bss100_section): Delete.
* config/svr3.h (ASM_OUTPUT_LOCAL): Use switch_to_section.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, INIT_SECTION_FUNCTION)
(FINI_SECTION_FUNCTION): Delete.
* config/v850/v850.c: Include gt-v850.h.
(rosdata_section, rozdata_section, tdata_section, zdata_section)
(zbss_section): New variables.
(v850_output_aligned_bss): Use switch_to_section.
(v850_asm_init_sections): New function.
(v850_select_section): Return the section rather than emitting
assembly code.
* config/v850/v850.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(ZDATA_SECTION_ASM_OP, ZBSS_SECTION_ASM_OP, TDATA_SECTION_ASM_OP)
(ROSDATA_SECTION_ASM_OP, ROZDATA_SECTION_ASM_OP): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
* config/v850/v850-protos.h (sdata_section, rosdata_section): Delete.
(sbss_section, tdata_section, zdata_section, rozdata_section): Delete.
(zbss_section): Delete.
* config/vax/vaxv.h (ASM_OUTPUT_LOCAL): Use switch_to_section.
* config/vx-common.h (vxworks_exception_section): Delete.
(TARGET_ASM_EXCEPTION_SECTION): Delete.
* config/xtensa/xtensa.c (xtensa_select_rtx_section): Return the
section rather than emitting assembly code.
* config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Use
switch_to_section.
* Makefile.in (GTFILES): Add $(srcdir)/output.h.
* coretypes.h (section): New union and typedef.
* dbxout.c (FORCE_TEXT): Use switch_to_section. Remove argument
from call to current_function_section.
(dbxout_function_end, dbxout_init, dbxout_source_file, dbxout_finish)
(dbxout_symbol_location): Use switch_to_section.
* dwarf2out.c (named_section_eh_frame_section): Delete, moving
most of the code into...
(default_eh_frame_section): ...here. Return a section.
(collect2_eh_frame_section): Delete, moving most of the code into..
(switch_to_eh_frame_section): ...this new function.
(debug_info_section, debug_abbrev_section, debug_aranges_section)
(debug_macinfo_section, debug_line_section, debug_loc_section)
(debug_pubnames_section, debug_str_section, debug_ranges_section): New
variables.
(output_call_frame_info): Call switch_to_eh_frame_section instead of
eh_frame_section. Use switch_to_section and get_section.
(dwarf2out_begin_prologue): Use switch_to_section.
(AT_string_form): Check the flags in debug_str_section instead of
DEBUG_STR_SECTION_FLAGS.
(output_comp_unit): Use switch_to_section, get_section, and
debug_info_section.
(output_line_info, secname_for_decl): Use unlikely_text_section_p.
(dwarf2out_begin_block): Use switch_to_section. Remove argument
from call to current_function_section.
(dwarf2out_var_location): Use unlikely_text_section_p.
(dwarf2out_source_line): Use switch_to_section. Remove argument
from call to current_function_section.
(dwarf2out_start_source_file, dwarf2out_end_source_file)
(dwarf2out_define, dwarf2out_undef: Use switch_to_section and
debug_macinfo_section.
(dwarf2out_init): Initialize the new section variables. Use them
instead of calls to named_section_flags. Use switch_to_section.
(output_indirect_string): Use switch_to_section and debug_str_section.
(dwarf2out_finish): Use switch_to_section and the new section
variables.
* except.c (default_exception_section): Return the section instead
of emitting assembly code.
(output_function_exception_table): Use the global exception_section
variable instead of the target hook. Use switch_to_section. Remove
argument from call to current_function_section.
* final.c (HAVE_READONLY_DATA_SECTION): Delete.
(shorten_branches): Use pointer comparisons to detect whether the
text section is the same as readonly_data_section.
(profile_function): Use switch_to_section. Remove argument from
call to current_function_section.
(final_scan_insn): Likewise. Update use of last_text_section.
* gengtype.c (open_base_files): Add an include of output.h.
* output.h (text_section, data_section, readonly_data_section)
(ctors_section, dtors_section, bss_section, init_section)
(fini_section, sdata_section): Turn into section pointers.
(in_text_section, in_unlikely_text_section, exports_section)
(drectve_section, named_section, mergeable_string_section)
(last_text_section_name): Delete.
(default_exception_section, default_eh_frame_section): Return sections.
(SECTION_DECLARED, SECTION_NAMED): New macros.
(SECTION_MACH_DEP): Bump value.
(section_common, named_section, unnamed_section): New structures.
(unnamed_section_callback): New typedef.
(section): New union.
(sbss_section, exception_section, eh_frame_section): New variables.
(in_section, last_text_section): Turn into section pointers.
(get_unnamed_section, get_section, get_named_section): New functions.
(mergeable_constant_section, function_section): Return a section.
(unlikely_text_section): Likewise.
(current_function_section): Likewise. Remove the decl argument.
(unlikely_text_section_p, switch_to_section): New functions.
(output_section_asm_op): New function.
(set_named_section_flags, named_section_flags, named_section_real)
(named_section_first_declaration): Delete.
(default_select_section, default_elf_select_section): Return a section.
(default_elf_select_section_1, default_function_rodata_section)
(default_no_function_rodata_section, default_select_rtx_section)
(default_elf_select_rtx_section): Likewise.
* rtl.h (in_data_section): Delete.
* sdbout.c (sdbout_one_type): Use switch_to_section.
* system.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Poison.
(READONLY_DATA_SECTION, TARGET_ASM_EXCEPTION_SECTION): Poison.
(TARGET_ASM_EH_FRAME_SECTION): Poison.
* target-def.h (TARGET_ASM_INIT_SECTIONS): New macro.
(TARGET_ASM_EXCEPTION_SECTION, TARGET_ASM_EH_FRAME_SECTION): Delete.
(TARGET_ASM_OUT): Update after above changes.
* target.h (init_sections): New hook.
(exception_section, eh_frame_section): Delete.
(select_section, select_rtx_section, function_rodata_section): Return
a section rather than emitting assembly code.
* varasm.c (text_section, data_section, readonly_data_section)
(ctors_section, dtors_section, bss_section, init_section)
(fini_section): Turn into section pointers.
(sdata_section, sbss_section, exception_section): New variables.
(eh_frame_section): New variable.
(in_section): Make global and turn into a section pointer.
(last_text_section): Turn into a section pointer.
(unnamed_sections): New variable.
(in_named_name, last_text_section_name): Delete.
(EXTRA_SECTION_FUNCTIONS): Delete.
(in_named_entry): Delete.
(section_htab): New variable, replacing...
(in_named_htab): ...this deleted variable.
(section_entry_eq, section_entry_hash): New functions, based on...
(in_named_entry_eq, in_named_entry_hash): ...these deleted functions.
(get_unnamed_section, get_section): New functions.
(unlikely_text_section): Return a section instead of emitting
assembly code.
(in_text_section, in_unlikely_text_section, in_data_section): Delete.
(get_named_section_flags, named_section_first_declaration): Delete.
(unlikely_text_section_p): New function.
(named_section_real, named_section): Delete.
(get_named_section): New function.
(asm_output_bss, asm_output_aligned_bss): Use switch_to_section.
(function_section): Return a section rather than emitting
assembly code.
(current_function_section): Likewise. Remove argument. Use
last_text_section if nonnull, otherwise use function_section.
(default_function_rodata_section): Return a section rather than
emitting assembly code. Use get_section.
(default_no_function_rodata_section): Return a section rather than
emitting assembly code.
(variable_section): Use switch_to_section and get_named_section.
(mergeable_string_section): Return a section rather than emitting
assembly code. Use get_section. Make static. Don't take special
countermeasures for empty strings.
(mergeable_constant_section): Return a section rather than emitting
assembly code. Use get_section.
(default_named_section_asm_out_destructor): Use switch_to_section
and get_section.
(default_dtor_section_asm_out_destructor): Use switch_to_section.
(default_named_section_asm_out_constructor): Use switch_to_section
and get_section.
(default_ctor_section_asm_out_constructor): Use switch_to_section.
(assemble_start_function): Likewise. Set last_text_section to
NULL rather than no_section. Change the type of save_section.
(assemble_zeros, assemble_variable): Use the section flags to detect
whether or not a section is text.
(assemble_static_space): Use switch_to_section.
(assemble_trampoline_template): Likewise.
(output_constant_def_contents): Use switch_to_section and
get_named_section.
(output_constant_pool_1): Use switch_to_section. Use the section
flags to see whether sections contain mergeable data.
(init_varasm_once): Initialize section_htab instead of in_named_htab.
Initialize new section variables. Call TARGET_ASM_INIT_SECTIONS.
(default_elf_asm_named_section): Use SECTION_DECLARED to detect
whether a section has already been declared.
(default_select_section, default_elf_select_section): Return a
section rather than emitting assembly code.
(default_elf_select_section_1): Likewise. Use bss_section for
SECCAT_BSS if nonnull. Use get_named_section.
(default_select_rtx_section): Return a section rather than
emitting assembly code.
(default_elf_select_rtx_section): Likewise. Use get_named_section.
(file_end_indicate_exec_stack): Use switch_to_section and get_section.
(output_section_asm_op, switch_to_section): New functions.
* vmsdbgout.c (vmsdbgout_finish): Use switch_to_section and
get_named_section.
* doc/tm.texi: Expand the introduction to the sections documentation.
(TRAMPOLINE_SECTION): Document new interface.
(SDATA_SECTION_ASM_OP): Document new macro.
(READONLY_DATA_SECTION): Delete.
(SDATA_SECTION_ASM_OP): Document new macro.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(TARGET_ASM_INIT_SECTIONS): Document new hook.
(TARGET_ASM_SELECT_SECTION, TARGET_ASM_FUNCTION_RODATA_SECTION)
(TARGET_ASM_SELECT_RTX_SECTION): Adjust for new interface.
(TARGET_EXCEPTION_SECTION, TARGET_EH_FRAME_SECTION): Delete.
gcc/java/
* class.c (build_utf8_ref, emit_register_classes): Use
switch_to_section and get_section.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108152
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Wed, 7 Dec 2005 07:02:35 +0000 (07:02 +0000)]
* gcc.c (init_gcc_specs): Match braces inside conditionally
compiled strings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108151
138bc75d-0d04-0410-961f-
82ee72b054a4
nemet [Wed, 7 Dec 2005 03:46:23 +0000 (03:46 +0000)]
* MAINTAINERS: Change email address.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108149
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Wed, 7 Dec 2005 00:31:58 +0000 (00:31 +0000)]
PR java/25283:
* parse.y (patch_new_array_init): Revert previous patch.
(lookup_method_invoke): Use size-less array type when creating an
anonymous constructor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108143
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 7 Dec 2005 00:17:27 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108140
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Tue, 6 Dec 2005 23:13:15 +0000 (23:13 +0000)]
* include/cpplib.h (CPP_N_DFLOAT): New.
* expr.c (interpret_float_suffix): Identify df, dd, and dl
suffixes as decimal floating point constants.
(cpp_classify_number): Disallow hexadecimal DFP constants.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108133
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Tue, 6 Dec 2005 20:50:27 +0000 (20:50 +0000)]
* lib/gcc-dg.exp (cleanup-dump): Remove options from test name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108129
138bc75d-0d04-0410-961f-
82ee72b054a4
geoffk [Tue, 6 Dec 2005 20:06:35 +0000 (20:06 +0000)]
* config/darwin.h (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108128
138bc75d-0d04-0410-961f-
82ee72b054a4
aldyh [Tue, 6 Dec 2005 19:45:00 +0000 (19:45 +0000)]
PR C++/24138
* tree.c (integer_all_onesp): Always return true if all bits on.
* cp/decl.c (reshape_init_array_1): Handle max_index of -1.
* testsuite/g++.dg/init/array0.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108126
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 6 Dec 2005 17:19:30 +0000 (17:19 +0000)]
2005-12-06 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_string.h (insert(iterator, _CharT),
erase(iterator), erase(iterator, iterator)): Avoid troubles
with ADL, user defined operators and __normal_iterator.
* include/bits/stl_iterator.h (operator-(const __normal_iterator
<_Iterator, _Container>&, const __normal_iterator<_Iterator,
_Container>&)): Add overload for left and right iterators of
the same type.
* include/debug/safe_iterator.h (operator-(const _Safe_iterator
<_Iterator, _Sequence>&, const _Safe_iterator<_Iterator,
_Sequence>&)): Likewise.
* testsuite/21_strings/basic_string/types/1.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108123
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 6 Dec 2005 15:15:36 +0000 (15:15 +0000)]
2005-12-06 Adrian Straetling <straetling@de.ibm.com>
* doc/md.texi: Adapt to implementation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108121
138bc75d-0d04-0410-961f-
82ee72b054a4
sayle [Tue, 6 Dec 2005 14:05:58 +0000 (14:05 +0000)]
* typeck.c (build_binary_op): Issue warning if either operand of a
comparison operator is a string literal, except for testing equality
or inequality against NULL.
* g++.dg/warn/Wstring-literal-comparison-1.C: New test case.
* g++.dg/warn/Wstring-literal-comparison-2.C: Likewise.
* g++.dg/warn/Wstring-literal-comparison-3.C: Likewise.
* g++.dg/warn/Wstring-literal-comparison-4.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108120
138bc75d-0d04-0410-961f-
82ee72b054a4
sayle [Tue, 6 Dec 2005 14:00:09 +0000 (14:00 +0000)]
PR c++/25263
* decl.c (compute_array_index_type): Check that itype is an
INTEGER_CST node before testing/clearing TREE_OVERFLOW.
* g++.dg/other/array2.C: New test case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108119
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 6 Dec 2005 13:40:58 +0000 (13:40 +0000)]
* vi.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108117
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Tue, 6 Dec 2005 11:27:09 +0000 (11:27 +0000)]
* opts.c (decode_options): Fix typo in message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108115
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Tue, 6 Dec 2005 09:55:04 +0000 (09:55 +0000)]
PR other/13873
* longlong.h: Merge PPC tests from upstream.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108110
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 6 Dec 2005 09:12:50 +0000 (09:12 +0000)]
2005-12-06 Richard Guenther <rguenther@suse.de>
* fold-const.c (fold_convert): Do not build and fold
CONVERT_EXPR, but always use NOP_EXPR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108107
138bc75d-0d04-0410-961f-
82ee72b054a4
jbeulich [Tue, 6 Dec 2005 09:07:23 +0000 (09:07 +0000)]
2005-12-06 Jan Beulich <jbeulich@novell.com>
* config/i386/i386.c (builtin_description): Use MASK_SSE2 for
__builtin_ia32_paddq and __builtin_ia32_subq.
(ix86_init_mmx_sse_builtins): Use MASK_SSE|MASK_3DNOW_A for
__builtin_ia32_pshufw.
* config/i386/i386.md (mmx_adddi3, mmx_subdi3): Depend on TARGET_SSE2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108106
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Tue, 6 Dec 2005 05:31:39 +0000 (05:31 +0000)]
PR target/24934
* opts.c (decode_options): Turn off partitioning if flag_unwind_tables
is set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108103
138bc75d-0d04-0410-961f-
82ee72b054a4
dberlin [Tue, 6 Dec 2005 04:22:11 +0000 (04:22 +0000)]
In gcc/
2005-12-05 Daniel Berlin <dberlin@dberlin.org>
* print-tree.c (print_node): Ditto.
* tree-dfa.c (add_referenced_var): Tag's don't have DECL_INITIAL.
* tree-dump.c (dequeue_and_dump): Check for decl_common structure
before accessing DECL_ARTIFICIAL.
Handle new tag tree codes.
* tree-flow-inline.h (clear_call_clobbered): Update for tag
changes.
(unmodifiable_var_p): Ditto.
* tree-flow.h (mem_tag_kind): Remove.
(struct var_ann_d): Remove mem_tag_kind member.
* tree-gimple.c (is_gimple_reg): Tags are not gimple registers.
* tree-pretty-print.c (dump_generic_node): Handle memory tags.
* tree-ssa-alias.c (init_alias_info): Update for memory tag changes.
(group_aliases): Ditto.
(setup_pointers_and_addressables): Ditto.
(is_escape_site): Ditto.
(may_alias_p): Ditto.
(create_tag_raw): New function.
(create_memory_tag): Use it.
(dump_alias_info): Update for tags.
(may_be_aliased): Ditto.
(add_type_alias): Ditto.
(new_type_alias): Ditto.
(create_sft): Ditto.
(create_structure_vars): Ditto.
* tree-ssa-ccp.c (get_default_value): Ditto.
* tree-ssa-operands.c (get_expr_operands): Ditto.
(add_stmt_operand): Ditto.
(add_call_clobber_ops): Remove duplicated condition.
* tree-ssa.c (verify_flow_insensitive_alias_info): Update for
tags.
* tree-tailcall.c (suitable_for_tail_opt_p): Ditto.
* tree-vect-transform.c (vect_create_data_ref_ptr): Ditto.
* tree.c (init_ttree): Update structures for new tree codes.
(tree_code_size): Update sizes for new tree codes.
(make_node_stat): Don't try to set common things on minimal
structures.
(tree_node_structure): Update for tags.
(is_global_var): Ditto.
* tree.def: Add new tree codes.
* tree.h (MTAG_P): New macro.
(TREE_MEMORY_TAG_CHECK): Ditto.
(SSA_VAR_P): Update for tags.
(struct tree_memory_tag): New structure.
(MTAG_GLOBAL): New macro.
(union tree_node): Add memory tag member.
* treestruct.def (TS_MEMORY_TAG): New.
In gcc/cp
2005-12-05 Daniel Berlin <dberlin@dberlin.org>
* ptree.c (cxx_print_decl): Update to check for decl_common
structure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108102
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Tue, 6 Dec 2005 02:30:11 +0000 (02:30 +0000)]
gcc/java:
* parse.y (patch_new_array_init): Don't set length on array.
libjava:
* testsuite/libjava.compile/rh174912.java: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108099
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 6 Dec 2005 00:17:34 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108086
138bc75d-0d04-0410-961f-
82ee72b054a4
dalej [Mon, 5 Dec 2005 23:04:28 +0000 (23:04 +0000)]
2005-12-05 Dale Johannesen <dalej@apple.com>
* config/i386/xmmintrin.h (_MM_TRANSPOSE4_PS): Fix to match
what was approved (PR 24323).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108080
138bc75d-0d04-0410-961f-
82ee72b054a4
gdr [Mon, 5 Dec 2005 22:21:29 +0000 (22:21 +0000)]
* doc/c-tree.texi (Function Bodies): Remove description of
RETURN_INIT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108078
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 5 Dec 2005 21:48:17 +0000 (21:48 +0000)]
* doc/libgcc.texi (__floatunsisf, __floatunsidf, __floatunsitf,
__floatunsixf, __floatundisf, __floatundidf, __floatunditf,
__floatundixf, __floatuntisf, __floatuntidf, __floatuntitf,
__floatuntixf, __powisf2, __powidf2, __powixf2, __mulsc3,
__muldc3, __multc3, __mulxc3, __divsc3, __divdc3, __divtc3,
__divxc3): Document.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108077
138bc75d-0d04-0410-961f-
82ee72b054a4
geoffk [Mon, 5 Dec 2005 21:38:27 +0000 (21:38 +0000)]
Index: gcc/ChangeLog
2005-12-05 Geoffrey Keating <geoffk@apple.com>
* config/darwin.c (machopic_select_section): It's not defined
as weak if it's only marked as weak_import.
Index: gcc/testsuite/ChangeLog
2005-12-05 Geoffrey Keating <geoffk@apple.com>
* gcc.dg/darwin-weakimport-3.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108076
138bc75d-0d04-0410-961f-
82ee72b054a4
geoffk [Mon, 5 Dec 2005 20:38:37 +0000 (20:38 +0000)]
Index: gcc/ChangeLog
2005-12-05 Geoffrey Keating <geoffk@apple.com>
* varasm.c (default_binds_local_p_1): Weakrefs don't bind locally.
A hidden weak object does bind locally. Strong linkonce data
counts like any other strong symbol for binding.
(weak_finish_1): Don't specially handle weakrefs, they no longer
arrive here.
(assemble_alias): Weakrefs can't be TREE_PUBLIC yet.
* c-common.c (handle_alias_attribute): Allow static aliases
of variables.
(handle_weakref_attribute): Don't call declare_weak on weakrefs.
* gthr-dce.h: Make weakrefs static.
* gthr-tpf.h: Likewise.
* gthr-solaris.h: Likewise.
* gthr-posix.h: Likewise.
* gthr-posix95.h: Likewise.
* config/darwin.c (darwin_encode_section_info): static weakref
variables are not necessarily defined in this translation unit.
* doc/extend.texi (Function Attributes): Mention that an alias
attribute creates a definition for the thing it's attached to.
Change the documentation for weakref to say that the thing
it's attached to must be static.
Index: gcc/testsuite/ChangeLog
2005-12-05 Geoffrey Keating <geoffk@apple.com>
* g++.old-deja/g++.abi/vtable2.C: Make weakrefs static.
* gcc.dg/attr-weakref-1.c: Modify to not try to test public weakrefs,
and to work on Darwin.
* gcc.dg/attr-weakref-1b.c: New file.
* gcc.dg/attr-weakref-2.c: New test.
* gcc.dg/darwin-weakref-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108074
138bc75d-0d04-0410-961f-
82ee72b054a4
geoffk [Mon, 5 Dec 2005 19:37:11 +0000 (19:37 +0000)]
* config/rs6000/host-darwin.c (segv_handler): Unblock SEGV so
we don't go into an infinite loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108070
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Mon, 5 Dec 2005 19:06:11 +0000 (19:06 +0000)]
PR testsuite/25247
* lib/target-supports-dg.exp (dg-skip-if): Fix target selector for
use in selector expressions.
(dg-xfail-if): Ditto.
* gcc.test-framework/dg-dot-run-sif-exp-P.c: New test.
* gcc.test-framework/dg-dot-run-sif-exp-U.c: New test.
* gcc.test-framework/dg-dot-run-xif-exp-P.c: New test.
* gcc.test-framework/dg-dot-run-xif-exp-XP.c: New test.
* gcc.test-framework/test-framework.exp: Skip generated tests if
CHECK_TEST_FRAMEWORK is not 1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108069
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 5 Dec 2005 18:53:04 +0000 (18:53 +0000)]
PR tree-optimization/24963
* gcc.dg/vect/vect-62.c: Remove outdated dg-line.
PR target/24108
* gcc.dg/vect/vect-76.c: Do not XFAIL on vect_no_align platforms.
PR target/18580
* gcc.dg/vect/vect-reduc-1char.c: XFAIL on vect_no_int_max platforms.
* gcc.dg/vect/vect-reduc-2short.c: Likewise.
* gcc.dg/vect/vect-reduc-1short.c: Likewise.
* gcc.dg/vect/vect-reduc-2char.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108067
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Mon, 5 Dec 2005 17:20:49 +0000 (17:20 +0000)]
2005-12-05 Paolo Bonzini <bonzini@gnu.org>
* config/rs6000/predicates.md (logical_const_operand): Split
out of logical_operand.
(logical_operand): Use it.
* config/rs6000/rs6000.md (cmp -> xor peephole2): Use
logical_const_operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108065
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 5 Dec 2005 16:39:18 +0000 (16:39 +0000)]
2005-12-05 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_assign):
Simplify, avoid pointless reallocations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108063
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 5 Dec 2005 16:24:47 +0000 (16:24 +0000)]
2005-12-05 Richard Guenther <rguenther@suse.de>
* utils.c (convert): Use fold_convert where appropriate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108061
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Mon, 5 Dec 2005 15:00:27 +0000 (15:00 +0000)]
toplevel:
2005-12-05 Paolo Bonzini <bonzini@gnu.org>
* configure.in (CONFIGURED_BISON, CONFIGURED_YACC, CONFIGURED_M4,
CONFIGURED_FLEX, CONFIGURED_LEX, CONFIGURED_MAKEINFO): Remove
"CONFIGURED_" from the AC_CHECK_PROGS invocation. Move below.
Find in-tree tools if available.
(EXPECT, RUNTEST, LIPO, STRIP): Find them and substitute them.
(CONFIGURED_*_FOR_TARGET): Don't set nor substitute.
(*_FOR_TARGET): Set them with GCC_TARGET_TOOL.
(COMPILER_*_FOR_TARGET): New.
* Makefile.tpl (HOST_EXPORTS): Add *_FOR_TARGET symbols that gcc needs.
(BASE_TARGET_EXPORTS): Use COMPILER_*_FOR_TARGET symbols.
(CONFIGURED_*, USUAL_*): Remove.
(BISON, YACC, FLEX, LEX, M4, MAKEINFO, EXPECT, RUNTEST, LIPO,
STRIP): Use autoconf substitutions.
(COMPILER_AS_FOR_TARGET, COMPILER_LD_FOR_TARGET,
COMPILER_NM_FOR_TARGET): New.
(EXTRA_HOST_FLAGS): Pass LIPO and STRIP.
(all): Make all-host and all-target in parallel.
(do-[+make_target+], do-check, install, [+compare-target+]): Ensure
that $$r and $$s are set before invoking a recursive make.
(stage[+id+]-bubble): Likewise, and invoke the comparison at the end.
([+bootstrap-target+]): Inline most of the `all' target.
config:
2005-12-05 Paolo Bonzini <bonzini@gnu.org>
* acx.m4 (GCC_TARGET_TOOL): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108059
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Mon, 5 Dec 2005 14:40:27 +0000 (14:40 +0000)]
libada:
2005-12-05 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in (FLAGS_TO_PASS): Add GCC_FOR_TARGET.
gcc/ada:
2005-12-05 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in (gnatlib): Fix regex, using \. instead of . when
a period is meant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108058
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 5 Dec 2005 10:01:06 +0000 (10:01 +0000)]
2005-12-05 Richard Guenther <rguenther@suse.de>
* treetree.c (tree_code_if_start, tree_code_create_variable,
tree_code_generate_return, tree_code_get_expression,
tree_code_add_parameter): Use fold_convert where appropriate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108051
138bc75d-0d04-0410-961f-
82ee72b054a4
jbeulich [Mon, 5 Dec 2005 08:44:17 +0000 (08:44 +0000)]
2005-12-05 Jan Beulich <jbeulich@novell.com>
* config/i386/i386.c (enum ix86_builtins): Remove IX86_BUILTIN_CMPNEPS
and IX86_BUILTIN_CMPNESS.
(ix86_init_mmx_sse_builtins): Remove ti_ftype_ti_ti.
* config/i386/i386.h (ALIGN_MODE_128): Don't check TFmode explicitly.
* config/i386/i386.md (movti_internal): Correct type attribute.
Simplify mode attribute.
(movti_rex64, movsf_1, movdf_nointeger, movdf_integer, movtf_internal):
Correct type attribute.
(absxf2): Correct operator.
* config/i386/mmx.md (mov<mode>_internal_rex64, mov<mode>_internal,
movv2sf_internal_rex64, movv2sf_internal): Correct type attribute.
* config/i386/sse.md (mov<mode>_internal, movv2df_internal): Simplify
mode attribute.
(sse2_vmsqrtv2df2): Correct mode attribute.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108048
138bc75d-0d04-0410-961f-
82ee72b054a4
jbeulich [Mon, 5 Dec 2005 08:38:20 +0000 (08:38 +0000)]
2005-12-05 Jan Beulich <jbeulich@novell.com>
* config/ia64/ia64.md (rotlsi3_internal): Don't split if rotating by
16 bits. Provide insn pattern for this case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108047
138bc75d-0d04-0410-961f-
82ee72b054a4
jbeulich [Mon, 5 Dec 2005 08:34:25 +0000 (08:34 +0000)]
2005-12-05 Jan Beulich <jbeulich@novell.com>
* libgcc2.c (__popcountSI2): Don't use wide type for iterator and
result.
(__popcountDI2): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108046
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 5 Dec 2005 07:46:40 +0000 (07:46 +0000)]
* gcc.target/i386/movq-2.c: Add -mtune=pentium4 to
dg-options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108042
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Mon, 5 Dec 2005 03:23:37 +0000 (03:23 +0000)]
PR target/25166
* pa/pa.c (pa_hpux_init_libfuncs): Add _U_Qfcnvxf_usgl_to_quad and
_U_Qfcnvxf_udbl_to_quad to set of initialized libfuncs.
* pa/quadlib.c (_U_Qfcnvxf_usgl_to_quad, _U_Qfcnvxf_udbl_to_quad): New
functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108039
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 5 Dec 2005 01:57:59 +0000 (01:57 +0000)]
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
Simplify.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108036
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 5 Dec 2005 00:32:31 +0000 (00:32 +0000)]
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/vstring.h (__versa_string<>::operator+, all
versions): Move out of line...
* include/ext/vstring.tcc (__versa_string<>::operator+): ...
here; consistently use reserve for the benefit of sso_string_base;
prefer push_back to single-char append when appropriate.
* include/ext/vstring.h (__versa_string<>::push_back): Don't
call _M_reserve, _M_mutate instead.
(reserve): Just forward to _M_reserve.
* include/ext/vstring.tcc (__versa_string<>::_M_reserve): Remove.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve): Also
do the initial checks (first on length, in case __res == capacity).
* include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve:
Likewise; don't call _M_set_length unnecessarily.
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/vstring.h (__versa_string<>::_M_append): New.
(append(const __versa_string&), append(const __versa_string&,
size_type, size_type), append(const _CharT*, size_type),
append(const _CharT*)): Use it.
(append(size_type, _CharT)): Delegate to _M_replace_aux.
(assign(const __versa_string&, size_type, size_type),
assign(const _CharT*), replace(size_type, size_type,
const _CharT*, size_type)): Forward to _M_replace.
* include/ext/vstring.tcc (__versa_string<>::_M_append):
Define, core append functionality.
(_M_replace): Simplify, move __s == 0 case to _M_replace_aux.
(_M_replace_aux): Reorganize, don't call _M_replace.
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/vstring.tcc (__versa_string<>::_M_replace):
Perform _M_check_length at the beginning and remove it from ...
(replace, _M_replace_dispatch, _M_replace_aux, assign): ... here.
(assign): Now move inline.
(resize): Don't call _M_check_length redundantly, append does.
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_get_allocator):
Add non const version.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_get_allocator):
Likewise.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_erase): Add.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_erase): Likewise.
(_M_leak_hard): Use it.
* include/ext/vstring.h (__versa_string<>::clear, erase, all
versions): Use it.
* include/ext/vstring.tcc (__versa_string<>::resize): Likewise.
* include/ext/vstring.h (__versa_string<>::_M_replace_safe):
Remove.
* include/ext/vstring.h (__versa_string<>::_M_replace): New, does
the in-place work or delegates to _M_mutate in case of reallocation.
* include/ext/vstring.tcc (__versa_string<>::_M_replace_safe):
Remove.
* include/ext/vstring.tcc (__versa_string<>::_M_replace): Define.
(assign, replace, _M_replace_dispatch, _M_replace_aux): Use it.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_mutate):
Change to manage only reallocations.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_mutate):
Likewise.
* include/ext/vstring.h (__versa_string<>::insert(size_type,
const __versa_string&), insert(size_type, const __versa_string&,
size_type, size_type), insert(size_type, const _CharT*, size_type),
insert(size_type, const _CharT*)): Delegate to replace.
* include/ext/vstring.h (__versa_string<>::reserve): Move out of
line.
* include/ext/vstring.tcc (__versa_string<>::reserve): Do the
checks and call _M_reserve.
* include/ext/vstring.h (__versa_string<>::append): Call _M_reserve
instead of reserve.
* include/ext/vstring.tcc (__versa_string<>::append, all versions):
Likewise.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
Adjust.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve):
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108034
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 5 Dec 2005 00:17:32 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108031
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Sun, 4 Dec 2005 23:50:48 +0000 (23:50 +0000)]
* Makefile.in (clean): Remove stray reference to libcpp.a.
* decimal128.h, decContext.c, decRound.c, decimal32.c,
decNumber.c, decContext.h, decimal64.c, decimal32.h, decNumber.h,
decimal64.h, decUtility.c, decLibrary.c, configure.ac,
decNumberLocal.h, decUtility.h, decDPD.h, decimal128.c: Update FSF
office address.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108024
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 4 Dec 2005 23:04:59 +0000 (23:04 +0000)]
* c-typeck.c (null_pointer_constant_p): New function.
(build_conditional_expr, build_c_cast, convert_for_assignment,
build_binary_op): Use it.
testsuite:
* gcc.dg/c90-const-expr-5.c, gcc.dg/c99-const-expr-5.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108022
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 4 Dec 2005 21:45:41 +0000 (21:45 +0000)]
* c-common.c (binary_op_error): Do not allow NOP_EXPR.
(c_common_truthvalue_conversion): Handle NOP_EXPR the same as
CONVERT_EXPR.
(check_function_arguments_recurse): Allow both NOP_EXPR and
CONVERT_EXPR but check conversions preserve precision.
* c-typeck.c (pointer_diff): Allow both NOP_EXPR and CONVERT_EXPR
but check conversions preserve precision.
(build_unary_op): Don't allow NOP_EXPR. Use gcc_unreachable () in
default case.
testsuite:
* gcc.dg/format/cast-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108020
138bc75d-0d04-0410-961f-
82ee72b054a4
sayle [Sun, 4 Dec 2005 19:58:37 +0000 (19:58 +0000)]
PR c/7776
* doc/invoke.texi: Document new -Wstring-literal-comparison option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108019
138bc75d-0d04-0410-961f-
82ee72b054a4
sayle [Sun, 4 Dec 2005 19:56:47 +0000 (19:56 +0000)]
PR c/7776
* common.opt (Wstring-literal-comparison): New command line option.
* c-opts.c (c_common_handle_option): Set it with -Wall.
* c-typeck.c (parser_build_binary_op): Issue warning if either
operand of a comparison operator is a string literal, except for
testing equality or inequality against NULL.
* doc/invoke.texi: Document new -Wstring-literal-comparison option.
* gcc.dg/Wstring-literal-comparison-1.c: New test case.
* gcc.dg/Wstring-literal-comparison-2.c: Likewise.
* gcc.dg/Wstring-literal-comparison-3.c: Likewise.
* gcc.dg/Wstring-literal-comparison-4.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108018
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Sun, 4 Dec 2005 18:13:59 +0000 (18:13 +0000)]
* io/format.c: Removing unused code.
* intrinsics/random.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108014
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 4 Dec 2005 00:17:29 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108007
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 3 Dec 2005 18:58:43 +0000 (18:58 +0000)]
* c-common.c (c_sizeof_or_alignof_type): Use fold_convert instead
of building a NOP_EXPR.
(c_alignof_expr): Likewise. Handle CONVERT_EXPR the same as
NOP_EXPR.
* c-convert.c (convert): Use fold_convert instead of building
NOP_EXPRs and CONVERT_EXPRs directly. Don't special case
c_objc_common_truthvalue_conversion returning a NOP_EXPR. Remove
#if 0 code.
* c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Handle
NOP_EXPR the same as CONVERT_EXPR.
* c-typeck.c (build_function_call): Use fold_convert instead of
building a NOP_EXPR directly.
(build_compound_expr): Handle NOP_EXPR the same as CONVERT_EXPR.
testsuite:
* gcc.dg/cast-pretty-print-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108001
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Sat, 3 Dec 2005 15:32:04 +0000 (15:32 +0000)]
PR fortran/25106
* parse.c (next_free): Use new prototype for gfc_match_st_label.
Correctly emit hard error if a label is zero.
* match.c (gfc_match_st_label): Never allow zero as a valid
label.
(gfc_match, gfc_match_do, gfc_match_goto): Use new prototype for
gfc_match_st_label.
* primary.c (): Use new prototype for gfc_match_st_label.
* io.c (): Likewise.
* match.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107999
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Sat, 3 Dec 2005 04:31:16 +0000 (04:31 +0000)]
typo fix
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107993
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Sat, 3 Dec 2005 04:26:37 +0000 (04:26 +0000)]
PR rtl-optimization 25197
* dwarf2out.c (dwarf2out_frame_debug_expr <rule 12>): Assert we
have a reg.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107992
138bc75d-0d04-0410-961f-
82ee72b054a4
stuart [Sat, 3 Dec 2005 01:30:30 +0000 (01:30 +0000)]
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove -fpic warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107991
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 3 Dec 2005 01:25:42 +0000 (01:25 +0000)]
* c-typeck.c (default_function_array_conversion,
build_function_call): Allow for CONVERT_EXPR as well as NOP_EXPR.
(build_conditional_expr): Apply integer_zerop to orig_op1 and
orig_op2. Don't check them for NOP_EXPR.
(build_c_cast, convert_for_assignment): Don't check for NOP_EXPR
around integer zero.
testsuite:
* gcc.dg/c90-const-expr-4.c, gcc.dg/c99-const-expr-4.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107990
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 3 Dec 2005 01:02:39 +0000 (01:02 +0000)]
* zh_CN.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107984
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Sat, 3 Dec 2005 01:02:33 +0000 (01:02 +0000)]
PR c++/24173
* decl.c (duplicate_decls): Don't rely on DECL_TEMPLATE_INFO after
clobbering newdecl.
PR c++/24173
* g++.dg/template/friend40.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107983
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 3 Dec 2005 01:00:19 +0000 (01:00 +0000)]
* zh_CN.po: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107981
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Sat, 3 Dec 2005 00:20:15 +0000 (00:20 +0000)]
Fixup some spacing
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107973
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 3 Dec 2005 00:17:29 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107970
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Sat, 3 Dec 2005 00:06:33 +0000 (00:06 +0000)]
* src/powerpc/ffi.c: Formatting.
(ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
(ffi_prep_args64): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107963
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Sat, 3 Dec 2005 00:05:03 +0000 (00:05 +0000)]
* config/rs6000/rs6000.c (rs6000_stack_t): Remove toc_save_p,
toc_save_offset, toc_size, lr_size.
(rs6000_stack_info): Use memset rather than bss struct copy to init.
Test rs6000_ra_ever_killed last in condition setting lr_save_p.
Adjust for removal of unused rs6000_stack_t fields.
(debug_stack_info): Adjust.
(rs6000_ra_ever_killed): Expand FIND_REG_INC_NOTE. Test for calls
first, and don't bother checking for set/inc of lr on sibcalls.
(rs6000_emit_epilogue): Tidy code restoring stack pointer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107962
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 2 Dec 2005 22:55:35 +0000 (22:55 +0000)]
PR target/25199
* config/i386/i386.md (movqi_1): Only force imovx for alternative
5 if operand 1 is not aligned. Undo previous constraint change.
* config/i386/predicates.md (aligned_operand): Use MEM_ALIGN.
testsuite/
* gcc.target/i386/movq-2.c: New test.
* gcc.target/i386/movq.c: Remove target i?86, instead add
dg-require-effective-target ilp32.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107955
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Dec 2005 21:00:01 +0000 (21:00 +0000)]
2005-12-02 Richard Guenther <rguenther@suse.de>
* trans.h (build1_v): Use build1, not build to build the
void typed tree.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107917
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Fri, 2 Dec 2005 18:23:06 +0000 (18:23 +0000)]
Add forgotten ChangeLog entry:
2005-11-27 Janne Blomqvist <jb@gcc.gnu.org>
* m4/ifunction.m4: Add const restrict to function arguments.
* m4/iforeach.m4: Likewise.
* m4/eoshift1.m4: Likewise.
* m4/eoshift3.m4: Likewise.
* m4/dotprod.m4: Likewise.
* m4/dotprodc.m4: Likewise.
* m4/dotprodl.m4: Likewise.
* m4/shape.m4: Likewise.
* m4/cshift1.m4: Likewise.
* m4/reshape.m4: Likewise.
* m4/transpose.m4: Likewise.
* generated/eoshift*: Regenerated
* generated/dotprod*: Likewise.
* generated/shape*: Likewise.
* generated/cshift1*: Likewise.
* generated/reshape*: Likewise.
* generated/transpose*: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107912
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Dec 2005 17:11:53 +0000 (17:11 +0000)]
2005-12-02 Richard Guenther <rguenther@suse.de>
* tree.h (build): Remove prototype.
(build, _buildN1, _buildN2, _buildC1, _buildC2): Remove macros.
* tree.c (build): Remove.
(build0_stat): Update comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107909
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Fri, 2 Dec 2005 17:10:36 +0000 (17:10 +0000)]
Fix accidental deletion of committer's name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107908
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Dec 2005 17:09:40 +0000 (17:09 +0000)]
2005-12-02 Richard Guenther <rguenther@suse.de>
* tree-ssa-loop-im.c (schedule_sm): Use buildN instead of build.
* tree-complex.c (update_complex_assignment, expand_complex_div_wide):
Likewise.
* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref,
maybe_fold_offset_to_component_ref): Likewise.
* tree-ssa-dom.c (thread_across_edge,
simplify_rhs_and_lookup_avail_expr,
find_equivalent_equality_comparison, record_equivalences_from_stmt):
Likewise.
* gimple-low.c (lower_function_body, lower_return_expr): Likewise.
* tree-eh.c (do_return_redirection, honor_protect_cleanup_actions,
lower_try_finally_switch): Likewise.
* tree-if-conv.c (add_to_dst_predicate_list,
replace_phi_with_cond_modify_expr, ifc_temp_var): Likewise.
* gimplify.c (internal_get_tmp_var, gimple_build_eh_filter,
voidify_wrapper_expr, build_stack_save_restore, gimplify_bind_expr,
gimplify_return_expr, gimplify_decl_expr, gimplify_switch_expr,
gimplify_case_label_expr, gimplify_exit_expr, gimplify_self_mod_expr,
shortcut_cond_r, shortcut_cond_expr, gimplify_cond_expr,
gimplify_init_ctor_eval, gimplify_init_constructor,
gimplify_variable_sized_compare, gimplify_boolean_expr,
gimplify_cleanup_point_expr, gimple_push_cleanup, gimplify_target_expr,
gimplify_expr, gimplify_body, gimplify_function_tree,
force_gimple_operand): Likewise.
* tree-ssa-pre.c (create_expression_by_pieces): Likewise.
* tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for,
mx_register_decls): Likewise.
* tree-nested.c (init_tmp_var, save_tmp_var, get_static_chain,
get_frame_field, finalize_nesting_tree_1): Likewise.
* tree-inline.c (setup_one_parameter): Likewise.
* tree-vect-transform.c (vectorizable_condition): Likewise.
* tree-outof-ssa.c (insert_copy_on_edge, insert_backedge_copies):
Likewise.
* tree-profile.c (tree_gen_edge_profiler): Likewise.
* tree-cfg.c (factor_computed_gotos, gimplify_val): Likewise.
* c-parser.c (c_parser_if_body, c_parser_switch_statement): Likewise.
* tree-chrec.h (build_polynomial_chrec): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107907
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Dec 2005 17:06:50 +0000 (17:06 +0000)]
2005-12-02 Richard Guenther <rguenther@suse.de>
* config/alpha/alpha.c (alpha_va_start, alpha_gimplify_va_arg_1i,
alpha_gimplify_va_arg): Use buildN and fold_buildN where applicable.
* config/frv/frv.c (frv_expand_builtin_va_start): Likewise.
* config/s390/s390.c (s390_va_start, s390_gimplify_va_arg): Likewise.
* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg):
Likewise.
* config/sh/sh.c (sh_va_start, sh_gimplify_va_arg_expr,
sh_adjust_unroll_max): Likewise.
* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
* config/xtensa/xtensa.c (xtensa_va_start, xtensa_gimplify_va_arg_expr):
Likewise.
* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
Likewise.
* config/mips/mips.c (mips_va_start, mips_gimplify_va_arg_expr):
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107906
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Dec 2005 17:05:20 +0000 (17:05 +0000)]
2005-12-02 Richard Guenther <rguenther@suse.de>
* trans.c (gnat_gimplify_expr): Use buildN instead of build.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107905
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Dec 2005 17:04:41 +0000 (17:04 +0000)]
2005-12-02 Richard Guenther <rguenther@suse.de>
* java-gimplify.c (java_gimplify_labeled_block_expr): Use
buildN instead of build.
* class.c (finish_class): Likewise.
* expr.c (java_create_object): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107904
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Dec 2005 17:04:00 +0000 (17:04 +0000)]
2005-12-02 Richard Guenther <rguenther@suse.de>
* semantics.c (simplify_aggr_init_expr): Use buildN instead
of build.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107903
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Dec 2005 17:03:17 +0000 (17:03 +0000)]
2005-12-02 Richard Guenther <rguenther@suse.de>
* objc-act.c (objc_build_exc_ptr, next_sjlj_build_enter_and_setjmp
next_sjlj_build_exc_extract, next_sjlj_build_catch_list,
next_sjlj_build_try_catch_finally, objc_begin_catch_clause,
build_objc_method_call, objc_rewrite_function_call): Use buildN
instead of build.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107902
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Fri, 2 Dec 2005 16:46:49 +0000 (16:46 +0000)]
PR libfortran/25116
* io/transfer.c (data_transfer_init): Don't set the default for
namelist I/O on preconnected files to UNFORMATTED.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107900
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Dec 2005 14:40:40 +0000 (14:40 +0000)]
2005-12-02 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (build_assert_expr_for, process_assert_insertions_for,
simplify_cond_using_ranges): Use buildN instead of build.
* tree-tailcall.c (adjust_accumulator_values,
adjust_return_value): Likewise.
* tree-sra.c (generate_one_element_ref, generate_copy_inout,
generate_element_copy, generate_element_zero,
generate_one_element_init): Likewise.
* tree-ssa-forwprop.c (forward_propagate_into_cond_1): Likewise.
* lambda-code.c (gcc_loop_to_lambda_loop, lbv_to_gcc_expression,
lle_to_gcc_expression, lambda_loopnest_to_gcc_loopnest,
perfect_nestify): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107894
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Fri, 2 Dec 2005 12:56:47 +0000 (12:56 +0000)]
* pa.c (pa_secondary_reload): Revise initialization of variable regno.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107890
138bc75d-0d04-0410-961f-
82ee72b054a4
reichelt [Fri, 2 Dec 2005 12:48:06 +0000 (12:48 +0000)]
PR c++/24103
* g++.dg/other/default1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107889
138bc75d-0d04-0410-961f-
82ee72b054a4
gdr [Fri, 2 Dec 2005 12:37:15 +0000 (12:37 +0000)]
* ggc.h (GGC_RESIZEVEC): New.
cp/
* parser.c (cp_lexer_new_main): Usr GGC_RESIZEVEC instead of
ggc_realloc.
(cp_parser_template_argument_list): Use XRESIZEVEC instead of xrealloc.
* class.c (pushclass): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107887
138bc75d-0d04-0410-961f-
82ee72b054a4
reichelt [Fri, 2 Dec 2005 12:26:25 +0000 (12:26 +0000)]
* gcc.c (execute): Improve readability.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107886
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Dec 2005 11:56:35 +0000 (11:56 +0000)]
2005-12-02 Richard Guenther <rguenther@suse.de>
* tree-cfg.c (mark_used_vars): New function.
(dump_function_to_file): Dump only used VAR_DECLs.
* gcc.dg/tree-ssa/
20031106-6.c: Remove XFAIL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107885
138bc75d-0d04-0410-961f-
82ee72b054a4
gdr [Fri, 2 Dec 2005 11:21:28 +0000 (11:21 +0000)]
* decl2.c (get_priority_info): Use XNEW, not xmalloc.
* decl.c (push_switch): Likewise.
* lex.c (handle_pragma_implementation): Likewise.
* cp-objcp-common.c (decl_shadowed_for_var_insert): Use GGC_NEW,
not ggc_alloc.
(cxx_initialize_diagnostics): Use XNEW, not xmalloc.
* class.c (init_class_processing): Use XNEWVEC, not xmalloc.
* g++spec.c (lang_specific_driver): Likewise.
* mangle.c (save_partially_mangled_name): Likewise.
* parser.c (cp_lexer_new_main): Use GGC_NEWVEC, not ggc_alloc.
(cp_parser_template_argument_list): Use XNEWVEC, nto xmalloc.
(cp_parser_sizeof_operand): Likewise.
* repo.c (open_repo_file, open_repo_file): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107884
138bc75d-0d04-0410-961f-
82ee72b054a4
gdr [Fri, 2 Dec 2005 09:54:01 +0000 (09:54 +0000)]
* gcc.dg/lvalue-2.c (f0): Put "error: " marker back.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107883
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Dec 2005 09:46:17 +0000 (09:46 +0000)]
2005-12-02 Richard Guenther <rguenther@suse.de>
* convert.c (convert_to_integer): Fix compare for nonpositive
constant to use tree_int_cst_sgn <= 0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107882
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Dec 2005 09:38:57 +0000 (09:38 +0000)]
2005-12-02 Richard Guenther <rguenther@suse.de>
* convert.c (convert_to_integer): Use fold_convert instead
of fold_build1 (NOP_EXPR, ...). Use tree_int_cst_sgn < 0
instead of comparing against 0. Use build_int_cst instead
of converting integer_zero_node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107881
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Dec 2005 09:37:03 +0000 (09:37 +0000)]
2005-12-02 Richard Guenther <rguenther@suse.de>
* tree-pretty-print.c (op_symbol): Handle LROTATE_EXPR
and RROTATE_EXPR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107880
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Fri, 2 Dec 2005 08:53:56 +0000 (08:53 +0000)]
PR target/21017
* gcc.target/powerpc/rotate.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107878
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Fri, 2 Dec 2005 06:33:02 +0000 (06:33 +0000)]
2005-12-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/pr24489.f90: Delete, replaced by read_eor.f90.
* gfortran.dg/pr24584.f90: Delete, replaced by namelist_empty.f90.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107874
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Fri, 2 Dec 2005 06:25:13 +0000 (06:25 +0000)]
PR target/21017
* combine.c (simplify_logical <IOR>): Simplify more patterns to
rotates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107873
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Fri, 2 Dec 2005 06:15:54 +0000 (06:15 +0000)]
PR middle-end/25176
* function.c (expand_function_end): Emit blockage for unwinder
after return label.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107871
138bc75d-0d04-0410-961f-
82ee72b054a4
sayle [Fri, 2 Dec 2005 04:40:05 +0000 (04:40 +0000)]
* tree.h (TREE_OVERFLOW): Make this flag/predicate specific to
constant nodes, i.e. INTEGER_CST, REAL_CST, etc...
* tree-vrp.c (compare_values): Only check TREE_OVERFLOW for
integer constant comparisons.
ada/
* utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST
nodes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107870
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Fri, 2 Dec 2005 03:02:19 +0000 (03:02 +0000)]
Missed in last check-in.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107865
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Fri, 2 Dec 2005 03:00:10 +0000 (03:00 +0000)]
Missed in checkin. :-(
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107864
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Fri, 2 Dec 2005 02:30:42 +0000 (02:30 +0000)]
2005-12-02 Jon Grimm <jgrimm2@us.ibm.com>
Janis Johnson <janis187@us.ibm.com>
David Edelsohn <dje@watson.ibm.com>
Ben Elliston <bje@au.ibm.com>
* dfp.h, dfp.c: New files.
* Makefile.in (DECNUM, DECNUMINC, LIBDECNUMBER): New variables.
(DECNUM_H): Likewise.
(LIBDEPS, LIBS, BACKEND): Append $(LIBDECNUMBER).
(INCLUDES): Append $(DECNUMINC).
(OBJS-common): Add dfp.o.
(dfp.o): New rule.
* real.h (EXP_BITS): Pinch one bit to ..
(struct real_value): Add decimal field.
(real_format): Change table size, update documentation.
(REAL_MODE_FORMAT): Update for to handle float, decimal float.
(real_from_string3): Declare.
(decimal_single_format): Declare.
(decimal_double_format): Declare.
(decimal_quad_format): Declare.
(REAL_VALUE_TO_TARGET_DECIMAL32): New.
(REAL_VALUE_TO_TARGET_DECIMAL64): New.
(REAL_VALUE_TO_TARGET_DECIMAL128): New.
* real.c: Include dfp.h.
(normalize): Early return for decimal floats.
(do_add): Zero decimal field.
(do_compare): Call do_decimal_compare for decimal floats.
(do_fix_trunc): Likewise, call decimal_do_fix_trunc.
(real_arithmetic): Call decimal_real_arithmetic for decimal
floating point operands.
(real_identical): If a and b are of differing radix, return false.
(real_to_integer): Call decimal_real_to_integer if the value is a
decimal float.
(real_to_integer2): Likewise, call decimal_real_to_integer2.
(real_to_decimal): Likewise, call decimal_real_to_decimal.
(real_to_hexadecimal): Place "N/A" in the return string for
decimal float.
(real_from_string3): New variant, given a mode.
(real_maxval): Use decimal_real_maxval for decimal floats.
(round_for_format): Use decimal_round_for_format for decimals.
(real_convert): Use decimal_real_convert where appropriate.
(significand_size): Handle base 10.
(encode_decimal_single, decode_decimal_single,
encode_decimal_double, decode_decimal_double, encode_decimal_quad,
decode_decimal_quad): New functions.
(decimal_single_format): New.
(decimal_double_format): New.
(decimal_quad_format): New.
* machmode.def: Add SD, DD and TD decimal floating point modes.
* machmode.h (FLOAT_MODE_P, SCALAR_FLOAT_MODE_P, MODES_WIDEN_P):
Include MODE_DECIMAL_FLOAT.
(DECIMAL_FLOAT_MODE_P): New.
* mode-classes.def (MODE_DECIMAL_FLOAT): New mode class.
* genmodes.c (struct mode_data): Add counter field.
(struct mode_data): Update comment for format.
(blank_mode): Initialise counter field.
(new_mode): Increment counter field for each mode defined.
(complete_mode): Handle MODE_DECIMAL_FLOAT, update check for mode
using a format.
(make_complex_modes): Handle modes containing `D'.
(DECIMAL_FLOAT_MODE, FRACTIONAL_DECIMAL_FLOAT_MODE): New.
(make_decimal_float_mode): New.
(reset_float_format): Handle MODE_DECIMAL_FLOAT.
(cmp_modes): Compare counter field if other characteristics
similar.
(emit_real_format_for_mode): Support formats for decimal floats.
* doc/rtl.texi (Machine Modes): Document SD, DD and TDmodes.
Document MODE_DECIMAL_FLOAT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107861
138bc75d-0d04-0410-961f-
82ee72b054a4
gdr [Fri, 2 Dec 2005 01:31:42 +0000 (01:31 +0000)]
* parser.c (cp_parser_make_typename_type): Call make_typename_type
with tf_none instead of magic value 0.
(cp_parser_explicit_instantiation): Call do_type_instantiation
with tf_error instead of magic value 1.
(cp_parser_elaborated_type_specifier): Call make_typename_type
with tf_error instead of magic value 1.
(cp_parser_class_name): Likewise.
(cp_parser_lookup_name): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107855
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Fri, 2 Dec 2005 01:25:58 +0000 (01:25 +0000)]
2005-12-01 Erik Schnetter <schnetter@aei.mpg.de>
* decl.c (gfc_match_old_kind_spec): Improve handling of old style
COMPLEX*N
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107853
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 2 Dec 2005 00:17:36 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107847
138bc75d-0d04-0410-961f-
82ee72b054a4
billingd [Thu, 1 Dec 2005 23:57:28 +0000 (23:57 +0000)]
2005-12-02 David Billinghurst (David.Billinghurst@riotinto.com)
PR testsuite/25193
* testsuite/lib/libstdc++.exp (libstdc++-dg-test): Catch
error if file cannot be deleted.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107841
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Thu, 1 Dec 2005 23:48:13 +0000 (23:48 +0000)]
* simplify-rtx.c (simplify_plus_minus): Do simplify constants.
Delete dead code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107840
138bc75d-0d04-0410-961f-
82ee72b054a4