* Make-lang.in (info): Use docobjdir.
($(srcdir)/treelang/treelang.info): Replace with ...
($(docobjdir)/treelang/treelang.info): ... this.
(install-info): New target.
Michael Koch [Mon, 20 Oct 2003 20:14:05 +0000 (20:14 +0000)]
2003-10-20 Michael Koch <konqueror@gmx.de>
* java/text/RuleBasedCollator.java
(RuleBasedCollator): Check rules not empty, fixed search in already
existing collation elements.
(is_special): Removed common whitespace characters.
(text_argument): Dont return on whitespaces, add characters between
two ' to string buffer.
Rainer Orth [Mon, 20 Oct 2003 18:37:22 +0000 (18:37 +0000)]
ffi.c: Use _ABIN32, _ABIO32 instead of external _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
libffi:
* src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
_MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
libstdc++-v3:
* config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
of external _MIPS_SIM_ABI32.
boehm-gc:
* mips_sgi_mach_dep.s: Use _ABIO32 instead of external
_MIPS_SIM_ABI32.
gcc:
* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
Use it in _MIPS_SIM definition.
* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
Zack Weinberg [Mon, 20 Oct 2003 18:32:51 +0000 (18:32 +0000)]
i386.c (print_reg): Abort if REGNO (x) is a virtual register, but only if file == asm_out_file.
* config/i386/i386.c (print_reg): Abort if REGNO (x) is a
virtual register, but only if file == asm_out_file.
* config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
for ARG_POINTER_REGNUM.
Zack Weinberg [Mon, 20 Oct 2003 18:28:27 +0000 (18:28 +0000)]
c-common.c (registered_builtin_types): New static.
* c-common.c (registered_builtin_types): New static.
(c_common_type_for_mode): Consult registered_builtin_types.
(c_register_builtin_type): Add type to registered_builtin_types.
* optabs.c (init_floating_libfuncs): Initialize libfuncs for
all MODE_FLOAT modes, not just the ones corresponding to
float_type_node, double_type_node, and long_double_type_node.
Mark Mitchell [Mon, 20 Oct 2003 16:54:47 +0000 (16:54 +0000)]
config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js, arm1136jfs, and armv6j.
* config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
arm1136jfs, and armv6j.
* config/arm/arm.c (FL_ARCH6J): New macro.
(FL_VFPV2): Likewise.
(all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
and arm1136jfs.
(all_architectures): Add entry for armv6j.
(arm_override_options): Add entries for arm926ejs, arm1026ejs,
arm1136js, and arm1136jfs.
* config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
(TARGET_CPU_arm1026ej_s): Likewise.
(TARGET_CPU_arm1136j_s): Likewise.
(TARGET_CPU_arm1136jf_s): Likewise.
* doc/invoke.texi: Document new ARM cores and architecture
variants.
Dorit Naishlos [Mon, 20 Oct 2003 15:36:19 +0000 (15:36 +0000)]
rs6000.h: (rs6000_sched_insert_nops): support new flag -minsert-sched-nops.
* config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
support new flag -minsert-sched-nops.
(DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
* config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
support new flag -minsert-sched-nops.
(is_cracked_insn, is_microcoded_insn): New functions.
(rs6000_sched_finish): New function.
(rs6000_issue_rate): Return 5 for power4.
(get_next_active_insn, insn_terminates_group_p): New
functions.
(is_costly_group, force_new_group): New functions.
(redefine_groups, pad_groups): New functions.
(rs6000_variable_issue): Use new functions.
* doc/invoke.texi (-minsert-sched-nops): Document new
option.
PR c++/9781, c++/10583, c++/11862
* decl.c (cp_finish_decl): Exit immediately if decl is an
error_mark_node.
* pt.c (push_template_decl_real): Return error_mark_node for
invalid template declaration of variable.
Falk Hueffner [Mon, 20 Oct 2003 07:59:45 +0000 (09:59 +0200)]
re PR target/12654 (Incorrect comparison code generated for Alpha)
PR target/12654
* config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
comparison against constant by adjusting the argument except for
EQ and NE.
Mark Mitchell [Mon, 20 Oct 2003 06:27:32 +0000 (06:27 +0000)]
config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js, arm1136jfs, and armv6j.
* config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
arm1136jfs, and armv6j.
* config/arm/arm.c (FL_ARCH6J): New macro.
(FL_VFPV2): Likewise.
(all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
and arm1136jfs.
(all_architectures): Add entry for armv6j.
(arm_override_options): Add entries for arm926ejs, arm1026ejs,
arm1136js, and arm1136jfs.
* config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
(TARGET_CPU_arm1026ej_s): Likewise.
(TARGET_CPU_arm1136j_s): Likewise.
(TARGET_CPU_arm1136jf_s): Likewise.
* doc/invoke.texi: Document new ARM cores and architecture
variants.
Nicolas Pitre [Sun, 19 Oct 2003 01:01:46 +0000 (01:01 +0000)]
arm.c (arm_override_options): Use arm_tune_xscale for XScale optimizations not arm_arch_xscale.
* config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
XScale optimizations not arm_arch_xscale.
* config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
* rtl.h (rtl_size): Declare.
(rtunion): Remove rtwint.
(rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
(RTX_HDR_SIZE, RTX_SIZE): New macros.
(RTL_CHECK1): Adjust for new rtx_def layout.
(RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
(XWINT, XCWINT): Likewise. Access the rtx structure directly.
(X0WINT): Remove.
(X0ANY): New macro.
* rtl.def: Adjust comments for new rtx_def layout.
* ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
number of slots.
* rtl.c (rtx_size): New array.
(rtx_alloc): Adjust call to ggc_alloc_rtx. Use RTX_HDR_SIZE.
(copy_rtx): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
(shallow_copy_rtx): Adjust call to ggc_alloc_rtx. Use RTX_SIZE.
* integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
* emit-rtl.c (copy_most_rtx): Likewise.
(copy_rtx_if_shared): Use RTX_SIZE.
(copy_insn_1): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
* gengenrtl.c (gendef): Adjust ggc_alloc_rtx call. Use RTX_HDR_SIZE.
* gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
(adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
an array. Adjust output for new rtx_def layout.
* ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
* reload1.c (eliminate_regs): Use RTX_SIZE.
* rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
* gdbinit.in (pi): Likewise.
Roger Sayle [Sat, 18 Oct 2003 18:17:23 +0000 (18:17 +0000)]
libgcc.texi: Group multi-word types...
* libgcc.texi: Group multi-word types, such as "long double" and
"unsigned int", using braces in @deftypefn and @deftypefnx nodes.
Document __unord?f2 as returning a non-zero value, not just one.
Michael Koch [Sat, 18 Oct 2003 12:24:57 +0000 (12:24 +0000)]
Connection.java, [...]: Merged copyright text from classpath to make it possible to merge the classes.
2003-10-18 Michael Koch <konqueror@gmx.de>
* gnu/java/net/protocol/file/Connection.java,
gnu/java/net/protocol/file/Handler.java,
gnu/java/net/protocol/http/Connection.java,
gnu/java/net/protocol/http/Handler.java,
gnu/java/net/protocol/jar/Connection.java,
gnu/java/net/protocol/jar/Handler.java:
Merged copyright text from classpath to make
it possible to merge the classes.
Eric Botcazou [Sat, 18 Oct 2003 07:39:56 +0000 (09:39 +0200)]
sparc.c (function_arg_record_value_1): New fourth parameter packed_p.
* config/sparc/sparc.c (function_arg_record_value_1): New fourth
parameter packed_p. Search for a DECL_PACKED field only if
packed_p is false. Pass packed_p recursively.
(function_arg_record_value_2): Likewise.
(function_arg_record_value): Update calls to
function_arg_record_value_1 and function_arg_record_value_2.
Mostafa Hagog [Fri, 17 Oct 2003 16:16:45 +0000 (16:16 +0000)]
common.opt: Add description of the new -fgcse-las flag.
2003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
* common.opt: Add description of the new -fgcse-las flag.
* flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
* gcse.c (hash_scan_set): Handle the case of store expression and
insert the memory expression to the hash table, this way we make it
possible to discover redundant loads after stores and remove them.
(pre_insert_copy_insn): moved the call to update_ld_motion_stores,
to pre_insert_copies, it is not the correct place to call it after
adding stores to be in the available expression hash table.
(pre_insert_copies): Added the call to update_ld_motion_stores when
one or more copies were inserted.
* opts.c (common_handle_option): Handle the -fgcse-las flag.
* toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
re PR c++/2513 (internal template template parameter causes ICE)
PR c++/2513
* decl.c (make_typename_type): Use dependent_type_p.
(make_unbound_class_template): Likewise.
* pt.c (instantiate_class_template): Increment
processing_template_decl during substitution of template friend
function. Preincrement processing_template_decl rather than
postincrement.
(get_mostly_instantiated_function_type): Increment
processing_template_decl during partial substitution of function
type.
Richard Earnshaw [Fri, 17 Oct 2003 14:45:47 +0000 (14:45 +0000)]
arm.c (use_return_insn): Not a single instruction, if there's a frame pointer.
* config/arm/arm.c (use_return_insn): Not a single instruction, if
there's a frame pointer.
(arm_output_epilogue): Protect stack pointer from being corrupted
on interrupt.
Rainer Orth [Fri, 17 Oct 2003 11:44:33 +0000 (11:44 +0000)]
config.gcc (mips-sgi-irix6*o32): Only enable use_collect2 without gas.
* config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
without gas.
(mips-sgi-irix6*): Likewise.
* config/mips/iris6gas.h: New file.
* gcc/config.gcc (mips-sgi-irix6*): Use it.
* config/mips/mips.h (TARGET_IRIX): Provide default.
(TARGET_IRIX5): Likewise.
(TARGET_SGI_O32_AS): Likewise.
* config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
(TARGET_IRIX5): Likewise.
* config/mips/iris6.h (TARGET_IRIX6): Remove.
(TARGET_IRIX5): Redefine as 0.
* config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
linker workaround with TARGET_IRIX and mips_abi instead of
ASM_OUTPUT_UNDEF_FUNCTION.
(mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
testing TARGET_IRIX and mips_abi explicitly.
* config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
* config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
* config/mips/mips.c (irix_output_external_libcall): Renamed from
mips_output_external_libcall.
Use new TARGET_IRIX in guard.
* config/mips/mips-protos.h (irix_output_external_libcall): Match
this.
* config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
* config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
Define as 0.
* config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
depending on mips_abi.
* config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
* config/mips/mips.c (mips_output_function_prologue): Test
FUNCTION_NAME_ALREADY_DECLARED at runtime.
(mips_output_function_epilogue): Likewise.
(build_mips16_function_stub): Likewise.
(build_mips16_call_stub): Likewise.
* config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
default.
* config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
IRIX 6 O32 assembler.
(SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
(TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
_MIPS_SIM for O32 ABI.
(DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
(ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
(ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
Integrate O32 version.
(SUBTARGET_ASM_SPEC): Handle -mabi=32.
(SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
O32 ABI.
(BSS_SECTION_ASM_OP_32): Define.
(BSS_SECTION_ASM_OP_64): Likewise.
(BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
using them.
(TARGET_ASM_NAMED_SECTION): Reflect renaming.
Move up to allow override for O32 ABI without GNU as.
(EH_FRAME_SECTION_NAME): Define explicitly.
(MUST_USE_SJLJ_EXCEPTIONS): Define.
[_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
DTORS_SECTION_ASM_OP): Dummy definitions.
(TARGET_ASM_NAMED_SECTION): Undef statically.
(EH_FRAME_SECTION_NAME): Likewise.
(ASM_OUTPUT_FILENAME): Integrate mips.h version.
(LINK_SPEC): Only use default options -call_shared -no_unresolved
without -r.
Don't pass -init, -fini with -mabi=32.
(COLLECT_PARSE_FLAG): Define.
* config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
(TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
override_options instead.
(TARGET_ASM_UNALIGNED_SI_OP): Likewise.
(TARGET_ASM_UNALIGNED_DI_OP): Likewise.
* config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
assemblers.
Likewise for constructor/destructor handling.
(override_options): Handle IRIX O32 assembler quirks.
[TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
without gas.
(mips_file_start): Use new TARGET_IRIX.
(mips_declare_object_name): No special processing for IRIX O32
assembler.
(mips_finish_declare_object): Likewise.
(irix_asm_output_align): Renamed from iris6_asm_output_align.
Don't record alignment for O32 ABI.
(irix_file_start): Renamed from iris6_file_start.
Return early for O32 ABI.
(irix_file_end): Renamed from iris6_file_end.
Don't emit .section directives for O32 ABI.
* config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
* config/mips/mips-protos.h (irix_asm_output_align): Likewise.
Richard Earnshaw [Fri, 17 Oct 2003 10:58:17 +0000 (10:58 +0000)]
arm-modes.def (CC_Nmode): New condition code mode.
* arm-modes.def (CC_Nmode): New condition code mode.
* arm.c (thumb_condition_code): Delete.
(arm_select_cc_mode): Handle single-bit test for Thumb.
(arm_print_operand, cases 'd' and 'D'): Don't special case the
condition code logic for Thumb.
(get_arm_condition_code): Handle CC_Nmode.
(thumb_cbrch_target_operand): New function.
* arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
* arm-protos.h (thumb_cbrch_target_operand): Add prototype.
* arm.md: Add Thumb split patterns for zero_extract and
sign_extract.
(tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
(orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
(xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
(subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
(cbranchne_decr1): Re-work to use CC_Nmode.
* arm.c (thumb_expand_epilogue): Add clobbers of registers restored
by the return instruction. Add a use of the link register if it
wasn't stored.
Richard Earnshaw [Fri, 17 Oct 2003 10:30:43 +0000 (10:30 +0000)]
flow.c (init_propagate_block_info): Don't abort if a conditional jump is not a comparison of a register.
* flow.c (init_propagate_block_info): Don't abort if a conditional
jump is not a comparison of a register. Instead, just don't record
conditional life information.
Benjamin Kosnik [Thu, 16 Oct 2003 22:37:53 +0000 (22:37 +0000)]
[multiple changes]
2003-10-16 Petur Runolfsson <peturr02@ru.is>
PR libstdc++/8610
PR libstdc++/11450
PR libstdc++/11543
PR libstdc++/12065
* config/io/basic_file_stdio.cc (__basic_file::seekoff):
Change return value from streampos to streamoff.
(__basic_file::seekpos): Delete.
* config/io/basic_file_stdio.h: Same.
* config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs.
* include/Makefile.am (bits_headers): Add bits/postypes.h.
* include/bits/char_traits.h: Include bits/postypes.h instead of
bits/fpos.h.
* include/bits/fstream.tcc (basic_filebuf::open,
basic_filebuf::pbackfail): Don't use < or >= to compare pos_type
values, use == and != instead.
(basic_filebuf::_M_seek): Use explicit conversion from streamoff
to pos_type.
(basic_filebuf::imbue): Don't use ! on pos_type values, use
== instead. Don't use __check_facet(_M_codecvt) unless is_open().
* include/bits/postypes.h: New file.
Add __streamoff_base_type typedef, streamsize.
(streamoff, streampos, wstreampos): Define typedefs, with
streamoff defined as...
(streamoff): New class. Document implementation defined
aspects.
(fpos): New implementation. Document implementation defined
aspects.
* include/bits/sstream.tcc (basic_stringbuf::seekpos): Use
explicit conversion from pos_type to off_type.
* include/std/std_iosfwd.h: Include bits/postypes.h instead
of bits/fpos.h.
* testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test.
* testsuite/27_io/fpos/11450.cc: New test.
* testsuite/27_io/fpos/mbstate_t/12065.cc: New test.
* testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test.
* testsuite/27_io/types/3.cc: New test.