Geoffrey Keating [Tue, 21 Oct 2003 23:28:05 +0000 (23:28 +0000)]
c-pch.c: Add comments in various places.
* c-pch.c: Add comments in various places.
(struct c_pch_validity): Add the lengths of various strings.
(host_machine): New static.
(target_machine): New static.
(get_ident): Bump version number.
(pch_init): Write out version, host, target validity data.
(c_common_valid_pch): Check version, host, target.
* Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
TARGET_MACHINE.
Zack Weinberg [Tue, 21 Oct 2003 21:22:42 +0000 (21:22 +0000)]
ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
* config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
* config/ia64/ia64.c (ia64_expand_fetch_and_op,
ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
DImode. Use convert_move to load ar.ccv.
(ia64_expand_compare_and_swap): Likewise.
If expand_expr doesn't put 'old' and 'new' in the proper
modes, run them through convert_to_mode.
2003-10-21 Paolo Bonzini <bonzini@gnu.org>
Richard Henderson <rth@redhat.com>
Avoid that ffi.h includes fficonfig.h.
* Makefile.am (EXTRA_DIST): Include ffitarget.h files
(TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(TARGET_SRC_MIPS_SGI): Removed.
(MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(MIPS_SGI): Removed.
(CLEANFILES): Removed.
(mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
targets.
* acconfig.h: Removed.
* configure.in: Compute sizeofs only for double and long double.
Use them to define and subst HAVE_LONG_DOUBLE. Include comments
into AC_DEFINE instead of using acconfig.h. Create
include/ffitarget.h instead of include/fficonfig.h. Rename
MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
AC_DEFINE EH_FRAME_FLAGS.
* include/Makefile.am (DISTCLEANFILES): New automake macro.
(hack_DATA): Add ffitarget.h.
* include/ffi.h.in: Remove all system specific definitions.
Declare raw API even if it is not installed, why bother?
Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
(UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
* include/ffi_common.h (bool): Do not define.
(ffi_assert): Accept failed assertion.
(ffi_type_test): Return void and accept file/line.
(FFI_ASSERT): Pass stringized failed assertion.
(FFI_ASSERT_AT): New macro.
(FFI_ASSERT_VALID_TYPE): New macro.
(UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
UINT64, SINT64): Define here with gcc's __attribute__ macro
instead of in ffi.h
(FLOAT32, ALIGN): Define here instead of in ffi.h
* include/ffi-mips.h: Removed. Its content moved to
src/mips/ffitarget.h after separating assembly and C sections.
* src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
SIZEOF_ARG -> FFI_SIZEOF_ARG.
* src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
* src/debug.c (ffi_assert): Accept stringized failed assertion.
(ffi_type_test): Rewritten.
* src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
FFI_ASSERT_VALID_TYPE.
* src/alpha/ffitarget.h, src/arm/ffitarget.h,
src/ia64/ffitarget.h, src/m68k/ffitarget.h,
src/mips/ffitarget.h, src/powerpc/ffitarget.h,
src/s390/ffitarget.h, src/sh/ffitarget.h,
src/sh64/ffitarget.h, src/sparc/ffitarget.h,
src/x86/ffitarget.h: New files.
* src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
src/powerpc/aix.S, src/powerpc/darwin.S,
src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
include fficonfig.h
Rainer Orth [Tue, 21 Oct 2003 14:11:13 +0000 (14:11 +0000)]
Makefile.in (CC1OBJ): Remove.
* Makefile.in (CC1OBJ): Remove.
(runtime-info.h): Invoke $(CC) so all MULTIFLAGS are handled
correctly.
Use .m extension for temporary file.
Remove assembler temp file.
Sascha Brawer [Tue, 21 Oct 2003 13:25:46 +0000 (15:25 +0200)]
Fix for bug #2944, reported by David Holmes <dholmes@dltech.com.au>
2003-10-21 Sascha Brawer <brawer@dandelis.ch>
Fix for bug #2944, reported by David Holmes <dholmes@dltech.com.au>
* java/util/logging/ErrorManager.java (everUsed): Made volatile.
(error): Synchronize on instance, not class.
Mark Wielaard [Tue, 21 Oct 2003 13:21:33 +0000 (13:21 +0000)]
Reported by M.Negovanovic
2003-10-21 Mark Wielaard <mark@klomp.org>
Reported by M.Negovanovic
* java/beans/Introspector.java (getBeanInfo(ClassLoader, String)): New
method.
(reallyFindExplicitBeanInfo): Use new getBeanInfo() method.
Michael Koch [Tue, 21 Oct 2003 12:55:02 +0000 (12:55 +0000)]
ByteOrder.java, [...]: Add code to load library with code for native methods if needed.
2003-10-21 Michael Koch <konqueror@gmx.de>
* java/nio/ByteOrder.java,
java/nio/DirectByteBufferImpl.java,
java/nio/channels/FileChannelImpl.java:
Add code to load library with code for native methods if needed.
Michael Koch [Tue, 21 Oct 2003 12:29:43 +0000 (12:29 +0000)]
PlainDatagramSocketImpl.java, [...]: Renamed fnum to native_fd to match classpath more.
2003-10-21 Michael Koch <konqueror@gmx.de>
* gnu/java/net/PlainDatagramSocketImpl.java,
gnu/java/net/PlainSocketImpl.java,
gnu/java/net/natPlainDatagramSocketImplPosix.cc,
gnu/java/net/natPlainDatagramSocketImplWin32.cc,
gnu/java/net/natPlainSocketImplPosix.cc,
gnu/java/net/natPlainSocketImplWin32.cc:
Renamed fnum to native_fd to match classpath more.
Nicolas Pitre [Tue, 21 Oct 2003 01:56:49 +0000 (01:56 +0000)]
arm.c (arm_override_options): Set arm_constant_limit to 2 instead of 1 when optimize_size is true.
* config/arm/arm.c (arm_override_options): Set arm_constant_limit
to 2 instead of 1 when optimize_size is true. Gather code based on
optimize_size together. Add comment about XScale load latency.
Kelley Cook [Mon, 20 Oct 2003 23:45:51 +0000 (23:45 +0000)]
Makefile.in: Get parsedir and docobjdir from configure.
2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
* Makefile.in: Get parsedir and docobjdir from configure.
* configure.in: Recogonize --enable-generated-files-in-srcdir.
Pass along parsedir and docobjdir.
* configure: Regenerate.
* doc/install.texi: Document --enable-generated-files-in-srcdir.
* 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.