Arpad Beszedes [Mon, 24 Mar 2003 01:24:41 +0000 (02:24 +0100)]
builtins.c (expand_builtin_fputs): When optimizing for size, don't transform fputs into fwrite.
gcc:
* builtins.c (expand_builtin_fputs): When optimizing for size,
don't transform fputs into fwrite.
testsuite:
* gcc.c-torture/execute/stdio-opt-1.c: Adjust test for change to
builtin fputs.
Eric Blake [Mon, 24 Mar 2003 00:50:18 +0000 (00:50 +0000)]
natStringBuffer.cc (regionMatches): New function.
2003-03-23 Eric Blake <ebb9@email.byu.edu>
* java/lang/natStringBuffer.cc (regionMatches): New function.
* java/lang/String.java (count): Now package-private.
* java/lang/StringBuffer.java: Merged with Classpath.
Zack Weinberg [Sun, 23 Mar 2003 20:13:58 +0000 (20:13 +0000)]
configure.in: Check whether it is necessary to link against libm to use ldexp.
* configure.in: Check whether it is necessary to link against
libm to use ldexp.
* configure: Regenerate.
* Makefile.in: Add LDEXP_LIB substitution variable.
* java/Make-lang.in: Link jcf-dump against $(LDEXP_LIB).
* include/private/gc_locks.h [IA64]: Include ia64intrin.h.
(GC_test_and_set): Use __sync_lock_test_and_set.
(GC_clear): Use volatile assignment.
(GC_compare_and_exchange): Use __sync_bool_compare_and_swap.
(GC_memory_write_barrier): Use __sync_synchronize.
pa.c (output_cbranch, [...]): Output nop for conditional branch to the following instruction.
* pa.c (output_cbranch, output_bb, output_bvb): Output nop for
conditional branch to the following instruction. Use next_real_insn
instead of next_active_insn.
(output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
instead of next_active_insn.
Ulrich Weigand [Sat, 22 Mar 2003 17:52:10 +0000 (17:52 +0000)]
s390.md ("movti", [...]): Use 'o' instead of 'm' constraint in forced-split alternatives.
* config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o' instead
of 'm' constraint in forced-split alternatives.
("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
VALIDATE_ADDRESS parameter to operand_subword.
* gcc.dg/20030321-1.c: New test.
* libjava.cni/shortfield.out: New file.
* libjava.cni/shortfield.java: New file.
* libjava.cni/natshortfield.cc: New file.
* libjava.cni/natlongfield.cc: New file.
* libjava.cni/longfield.out: New file.
* libjava.cni/longfield.java: New file.
Jerry Quinn [Sat, 22 Mar 2003 04:57:46 +0000 (04:57 +0000)]
re PR libstdc++/5730 (complex<double>::norm() -- huge slowdown from egcs-2.91.66)
2003-03-21 Jerry Quinn <jlquinn@optonline.net>
PR libstdc++/5730
* include/bits/c++config (_GLIBCPP_FAST_MATH): Define.
* include/std/std_complex.h (norm): Use faster,
less accurate computation for builtin float types under --fast-math.
Stephane Carrez [Fri, 21 Mar 2003 23:25:21 +0000 (00:25 +0100)]
m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in writing .interrupt command.
* config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
writing .interrupt command.
* config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
if it's a far or near function.
("call_value"): Likewise.
* config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
near attributes.
(m68hc11_handle_fntype_attribute): Accept attributes on methods.
(m68hc11_override_options): Ignore -mlong-calls for 68HC11.
(m68hc11_initial_elimination_offset): Set current_function_far
according to attributes.
(expand_prologue): Likewise.
(trap_handler_symbol): New global to keep track of trap handlers.
(m68hc11_encode_section_info): Mark symbol as far if needed; set
trap symbol.
(m68hc11_is_far_symbol): New function.
(m68hc11_is_trap_symbol): New function.
* config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
(m68hc11_is_trap_symbol): Declare.
Jan Hubicka [Fri, 21 Mar 2003 22:18:18 +0000 (23:18 +0100)]
i386.c (ix86_compute_frame_layout): Recompute fast prologues only when amount of saved regs changed.
* i386.c (ix86_compute_frame_layout): Recompute fast prologues
only when amount of saved regs changed.
(ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
* i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
Jan Hubicka [Fri, 21 Mar 2003 21:47:04 +0000 (22:47 +0100)]
re PR inline-asm/7916 (ICE in instantiate_virtual_register_1)
PR inline-asm/7916
* function.c (instantiate_virtual_regs_lossage): New function.
(instantiate_virtual_regs_1): Use it.
(instantiate_virtual_regs): Do not continue in substition when insn has
been deleted.
Zack Weinberg [Fri, 21 Mar 2003 17:10:02 +0000 (17:10 +0000)]
javaop.h (jfloat, jdouble): Make them structures mirroring the bit fields of IEEE float and double respectively.
* javaop.h (jfloat, jdouble): Make them structures mirroring
the bit fields of IEEE float and double respectively.
(JFLOAT_FINITE, JFLOAT_QNAN_MASK, JFLOAT_EXP_BIAS,
JDOUBLE_FINITE, JDOUBLE_QNAN_MASK, JDOUBLE_EXP_BIAS): New.
(union Word, union DWord): Delete.
(WORD_TO_FLOAT, WORDS_TO_DOUBLE): Update to match.
Ulrich Weigand [Fri, 21 Mar 2003 15:48:31 +0000 (15:48 +0000)]
s390.h: Do not include fixdfdi.h on s390x.
* config/s390/s390.h: Do not include fixdfdi.h on s390x.
(TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
(MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
Zdenek Dvorak [Fri, 21 Mar 2003 13:43:20 +0000 (14:43 +0100)]
ffi.h.in: Define X86 instead of X86_64 in 32 bit mode.
* libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
bit mode.
* libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
Receive closure pointer through parameter, read args using
__builtin_dwarf_cfa.
(FFI_INIT_TRAMPOLINE): Send closure reference through eax.
Eric Botcazou [Fri, 21 Mar 2003 09:46:38 +0000 (10:46 +0100)]
re PR target/8366 ([sparc-sun-solaris2.7] C testsuite failure w/-m64 -fpic -O in execute/loop-2d.c)
PR optimization/8366
* config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
(GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
PIC+SYMBOLIC_CONST in other modes than Pmode.
(GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
the form PIC+SYMBOLIC_CONST as mode dependent.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r64657
Michael Koch [Fri, 21 Mar 2003 09:18:31 +0000 (09:18 +0000)]
2003-03-21 Michael Koch <konqueror@gmx.de>
* javax/swing/Action.java
(ACCELERATOR_KEY): New constant.
(ACTION_COMMAND_KEY): Likewise.
(MNEMONIC_KEY): Likewise.
* javax/swing/UnsupportedLookAndFeelException.java
(UnsupportedLookAndFeelException): Must be public.
* javax/swing/WindowConstants.java
(EXIT_ON_CLOSE): New constant.
* javax/swing/text/BadLocationException.java
(offset): New member variable.
(BadLocationException): New implementation, documentation added.
(offsetRequested): New method.
* javax/swing/text/Caret.java:
Reformated.
* javax/swing/text/Document.java:
Reformated.
config.gcc (i[34567]86-*-cygwin*): Use new common makefile stub t-cygming.
2003-03-21 Christopher Faylor <cgf@redhat.com>
* config.gcc (i[34567]86-*-cygwin*): Use new common makefile
stub t-cygming. Use common target header cygming.h. Add extra
c_target_obj and cxx_target_obj file. Default cygwin to posix
threading. Enforce i386 as float format.
(i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
Remove cygwin.h as target header. Use common target header
cygming.h Enforce i386 as float format. Correct typo.
* config/i386/cygming.h: New file, containing definitions
common to mingw32 and cygwin.
* config/i386/cygwin.h: Remove definitions common to cygwin and
mingw. Simplify special spec logic. Define "wrappers" around
certain include path defines to accommodate -mno-cygwin.
Remove some #if 0'ed code.
(STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
(LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
(GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
* config/i386/mingw32.h: Remove definitions common to cygwin and
mingw.
(EXTRA_OS_CPP_BUILTINS): Adjust.
(TARGET_VERSION): Define.
* config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
mingw32.h definitions.
(LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
* config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
Add compilation rules for cygwin1.o cygwin2.o.
* config/i386/cygwin1.c: New file.
* config/i386/cygwin2.c: New file.
* config/i386/t-cygming: New makefile stub.
Daniel Berlin [Thu, 20 Mar 2003 23:02:54 +0000 (23:02 +0000)]
2003-03-20 Daniel Berlin <dberlin@dberlin.org>
Merge changes from new-regalloc-branch
From Michael Matz <matz@suse.de>
* df.c (df_ref_record_1): Move init of loc to safe point.
Only recurse on interesting things in parallels.
Handle CLASS_CANNOT_CHANGE_MODE smarter.
(df_uses_record): Ditto.
* df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
it's already okay to use memory operands in (IE doesn't require
adding another insn or anything).
Matt Austern [Thu, 20 Mar 2003 21:14:30 +0000 (21:14 +0000)]
cp-tree.h (unemitted_tinfo_decls): Declaration of a new varray.
* cp-tree.h (unemitted_tinfo_decls): Declaration of a new varray.
(unemitted_tinfo_decl_p): Remove.
(emit_tinfo_decl): Change declaration to remove unused parameter.
* decl2.c (finish_file): Change tinfo emission to loop through
unemitted_tinfo_decls array instead of looping through all decls.
* rtti.c (unemitted_tinfo_decl_p): Declare as static, remove
unused second parameter.
(init_rtti_processing): initialize unemitted_tinfo_decls varray.
(get_tinfo_decls): push new tinfo decl on unemitted_tinfo_decls.
(emit_tinfo_decl): remove unused second parameter, add assertion
that decl hasn't already been emitted.
Roger Sayle [Thu, 20 Mar 2003 17:48:26 +0000 (17:48 +0000)]
fold-const.c (fold_mathfn_compare): New function to simplify comparisons against built-in math functions.
* fold-const.c (fold_mathfn_compare): New function to simplify
comparisons against built-in math functions. Fold comparisons
of sqrt against constants.
(fold): Call fold_mathfn_compare when appropriate.
Per Bothner [Thu, 20 Mar 2003 16:46:18 +0000 (16:46 +0000)]
Various cleanups to help compile server.
* cppinit.c (cpp_create_reader): Take extra hash_table* argument,
and pass that to _cpp_init_hashtable.
(cpp_read_main_file): Drop hash_table* argument; don't call
_cpp_init_hashtable.
* cpplib.h: Update declarations to match.
* c-opts.c (c_common_init_options): Pass ident_hash to
cpp_create_reader.
(c_common_post_options): Don't pass ident_hash to cpp_read_main_file.
* fix-header.c (read_scan_file): Likewise pass NULL table to
cpp_create_reader rather than cpp_read_main_file.
* cppfiles.c (cpp_rename_file): Generalized and renamed
to cpp_change_file.
* cpplib.h: Update declaration to match.
* c-opts.c (push_command_line_line, finish_options): Change
cpp_rename_file calls to cpp_change_file.
Michael Koch [Thu, 20 Mar 2003 11:14:35 +0000 (11:14 +0000)]
2003-03-20 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/FileChannelImpl.java
(address): Removed.
(map_address): New member variable.
(length): Make it package private.
(fd): Make it package private.
(buf): Make it package private.
(file_obj): Make it package private.
(FileChannelImpl): New constructor.
(nio_mmap_file): Use RawData instead of long.
(nio_munmap_file): Use RawData instead of long.
(nio_msync): Use RawData instead of long.
(implCloseChannel): New implementation using map_address.
(read): Reformated.
(map): Implemented.
(create_direct_mapped_buffer): Implemented, use RawData, throws
IOException.
(force): Use map_address instead of address.
* gnu/java/nio/MappedByteFileBuffer.java
(address): Removed.
(map_address): New member variable.
(MappedByteFileBuffer): Use map_address instead of address, reformated.
(several methods): Use map_address instead of address, replaced long
with RawData where appropriate.
* gnu/java/nio/natFileChannelImpl.cc
(nio_mmap_file): Replaced long with RawData.
(nio_munmap_file): Replaced long with RawData.
(nio_msync): Replaced long with RawData.
* gnu/java/nio/natMappedByteFileBuffer.cc
(several methods): Replaced long with RawData where appropriate.
Michael Koch [Thu, 20 Mar 2003 07:54:24 +0000 (07:54 +0000)]
2003-03-20 Michael Koch <konqueror@gmx.de>
* java/io/FileInputStream.java
(getChannel): New implementation.
* java/io/FileOutputStream.java
(ch): New member variable.
(getChannel): Implemented.
* java/io/RandomAccessFile.java
(RandomAccessFile): Throws FileNotFoundException instead of
IOException.
(getChannel): New method.
(ch): New member variable.
Nathanael Nerode [Wed, 19 Mar 2003 20:34:10 +0000 (20:34 +0000)]
c-common.h (c_dump_tree), [...]): Change return type from 'int' to 'bool'.
(gcc)
* c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
langhooks-def.h (lhd_tree_dump_dump_tree),
langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
Change return type from 'int' to 'bool'. Replace 0 and 1 with
true and false in return statements.
(cp)
* dump.c (cp_dump_tree), cp-tree.h (cp_dump_tree): Change return
type from 'int' to 'bool'. Replace 0 and 1 with true and false in
return statements.
(java)
* lang.c (java_dump_tree): Change return type from 'int' to 'bool'.
Replace 0 and 1 with true and false in return statements.