Michael Koch [Thu, 2 Oct 2003 15:17:13 +0000 (15:17 +0000)]
2003-10-02 Michael Koch <konqueror@gmx.de>
* java/net/InetAddress.java
(zeros): Removed.
(ANY_IF): Initalizie in static block.
(static): Load library with native methods here and initialize ANY_IF.
(isAnyLocalAddress): Check if equal to ANY_IF.
(equals): Use addr directly instead of addr1. Simplify for loop.
(toString): Rename "result" to "host" and add IP address allways.
(getLocalHost): Merged documentation from classpath.
* java/net/ServerSocket.java
(ServerSocket): New package-private constructor used by java.nio.
* java/net/URLConnection.java
(getRequestProperties): Check if already connected.
Josef Zlomek [Thu, 2 Oct 2003 15:11:40 +0000 (17:11 +0200)]
cgraph.c (cgraph_node): Use INSERT instead of 1 in htab_find_slot_with_hash.
* cgraph.c (cgraph_node): Use INSERT instead of 1 in
htab_find_slot_with_hash.
(cgraph_node_for_identifier): Use NO_INSERT.
(cgraph_remove_node): Use NO_INSERT.
(cgraph_varpool_node): Use INSERT.
(cgraph_varpool_node_for_identifier): Use NO_INSERT.
Carlo Wood [Thu, 2 Oct 2003 14:29:26 +0000 (14:29 +0000)]
demangle.h (demangle<Allocator>::symbol(char const*)): Decode symbols that start with _GLOBAL_[ID]_ differently...
* include/bits/demangle.h (demangle<Allocator>::symbol(char const*)):
Decode symbols that start with _GLOBAL_[ID]_ differently: the
trailing part ends with a terminating zero and is not necessarily an
encoding.
* src/demangle.cc (): Same.
* testsuite/demangle/regression/cw-13.cc: Adjust for new output.
Michael Koch [Thu, 2 Oct 2003 12:14:44 +0000 (12:14 +0000)]
2003-10-02 Michael Koch <konqueror@gmx.de>
* java/net/URL.java
(DEFAULT_SEARCH_PATH): New static variable.
(ph_cache): Made it a HashMap.
(getURLStreamHandler): Rename propVal to ph_search_path and use
DEFAULT_SEARCH_PATH.
Steven Bosscher [Thu, 2 Oct 2003 10:48:54 +0000 (12:48 +0200)]
mcore.c: Convert to ISO C90 function declarations and definitions.
* config/mcore/mcore.c: Convert to ISO C90 function declarations and definitions.
* config/mcore/mcore.h: Likewise.
* config/mcore/mcore-protos.h: Likewise.
Michael Koch [Thu, 2 Oct 2003 09:37:04 +0000 (09:37 +0000)]
2003-10-02 Michael Koch <konqueror@gmx.de>
* javax/swing/table/AbstractTableModel.java
(findColumnName): Prevent from NullPointerException if argument
columnName is null.
2003-10-02 Michael Koch <konqueror@gmx.de>
* javax/swing/table/AbstractTableModel.java:
This patch is based on a patch done by Arnaud Vandyck
<arnaud.vandyck@ulg.ac.be>.
(getColumnName): Fixed method documentation.
(findColumn): Likewise.
(getColumnClass): Likewise.
(isCellEditable): Likewise.
(setValueAt): Likewise.
(addTableModelListener): Likewise.
(removeTableModelListener): Likewise.
(getTableModelListeners): New method.
Per Bothner [Thu, 2 Oct 2003 07:30:34 +0000 (07:30 +0000)]
cpplib.c (_cpp_pop_buffer): Do generate a _cpp_do_file_change callback even when popping the main file.
* cpplib.c (_cpp_pop_buffer): Do generate a _cpp_do_file_change
callback even when popping the main file.
* cpplib.c (cpp_push_buffer): Since we no longer set return_at_eof,
remove the unused return_at_eof parameter.
* cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
Update callers of cpp_push_buffer.
* c-opts.c (c_common_post_options): Don't call cpp_find_main_file yet.
(c_common_parse_file): No longer need to call cpp_read_main_file
when file_index > 0 (as in multi-file or server compiation).
(finish_options): Change to <built-in> is an LC_ENTER, not LC_RENAME
as this now happens before cpp_push_main_file.
(push_command_line_include): When done with options, pass LC_LEAVE
instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
(fe_file_change): Handle NULL new_map, and simplify.
Per Bothner [Thu, 2 Oct 2003 07:23:27 +0000 (07:23 +0000)]
cppinit.c (cpp_read_main_file): Split into two functions: Distribute _cpp_stack_file call over the two functions.
* cppinit.c (cpp_read_main_file): Split into two functions:
Distribute _cpp_stack_file call over the two functions.
(cpp_find_main_file): New function.
Don't call _cpp_do_file_change even if working_directory flag set.
(cpp_push_main_file): New function.
* cppfiles.c (_cpp_find_failed): New helper function.
(find_file): Made non-static and renamed to _cpp_find_file.
(_cpp_stack_file): No longer needed. But note the following.
(stack_file): Made non-static and renamed to _cpp_stack_file.
* fix-header.c (cpp_read_main_file): Replace cpp_read_main_file
call with calls to cpp_find_main_file and cpp_push_main_file.
(search_path_head): If there is no current buffer, use main_file.
* cpphash.h: Update function declarations.
* cpplib.h: Update function declarations.
Per Bothner [Thu, 2 Oct 2003 07:20:38 +0000 (07:20 +0000)]
cpplex.c (_cpp_get_fresh_line): Revert my no-longer-needed 08-28 change...
* cpplex.c (_cpp_get_fresh_line): Revert my no-longer-needed
08-28 change, since we're never called with a NULL buffer.
(_cpp_lex_direct): Likewise.
* cpptrad.c (_cpp_read_logical_line_trad): Likewise.
Return false if buffer is NULL at end.
* cpplex.c (_cpp_get_fresh_line): Return value now just depends on
whether pfile->buffer is NULL after pop, ignoring return_at_eof.
* c-lex.c (src_line): Remove unneeded static variable.
(cb_line_change): Set input_line directly, instead of src_line.
(get_non_padding_token): We no longer need to compensate for the
"horrible things" the C++ front-end does with the current line number,
Zack Weinberg [Thu, 2 Oct 2003 00:44:29 +0000 (00:44 +0000)]
target.h (init_libfuncs): New hook.
* target.h (init_libfuncs): New hook.
* target-def.h: Default TARGET_INIT_BUILTINS and
TARGET_INIT_LIBFUNCS to hook_void_void. Add
TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
* builtins.c (default_init_builtins): Delete.
* expr.h (default_init_builtins): Delete prototype.
* doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
and UMODDI3_LIBCALL,
* Makefile.in (optabs.o): Depends on target.h.
* defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
* optabs.c: Include target.h.
(prepare_float_lib_cmp): No need for #ifdef around use of
FLOAT_LIB_COMPARE_RETURNS_BOOL.
(set_optab_libfunc): New function.
(init_optabs): Delete use of all *_LIBCALL defines.
Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
* optabs.h: Prototype set_optab_libfunc.
* config.gcc: Remove all references to pa/long_double.h,
ia64/hpux_longdouble.h, and gofast.h.
(mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
* config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
* config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
* config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
* config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
* config/sparc/sparc.c, config/vax/vax.c:
Provide a definition for TARGET_INIT_LIBFUNCS. Where
necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
* config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
* config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
* config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
* config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
* config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
* config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
* config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
* config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
* config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
* config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
* config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
* config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
* config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
SUN_INTEGER_MULTIPLY_64 to 0.
* config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
SUN_INTEGER_MULTIPLY_64 to 1.
* config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
SUN_INTEGER_MULTIPLY_64 to 0.
* config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
Define US_SOFTWARE_GOFAST.
* config/vax/vax.h: Default TARGET_ELF to 0.
* config/vax/elf.h: Redefine TARGET_ELF to 1.
* config/gofast.h: Don't define any macros here. Provide one
static function, gofast_maybe_init_libfuncs, which does what
INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
is already defined. Do not clear negation libfuncs. Do
not mess with HFmode, XFmode, or TFmode libfuncs.
* config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
* linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0): Define.
(GLIBCXX_CHECK_STDLIB_SUPPORT): Use it to test for lrand48
instead of drand48.
* acconfig.h (HAVE_DRAND48): Renamed to HAVE_LRAND48.
* crossconfig.m4 (*-freebsd*): Define HAVE_LRAND48 instead of
HAVE_DRAND48.
* config.h.in, configure: Regenerate.
* include/bits/stl_algo.h: Use _GLIBCXX_HAVE_LRAND48 to guard
lrand48 use.
Andrew Haley [Wed, 1 Oct 2003 16:22:13 +0000 (16:22 +0000)]
jcf-parse.c (java_parse_file): Write otable and atable.
2003-10-01 Andrew Haley <aph@redhat.com>
* jcf-parse.c (java_parse_file): Write otable and atable.
* java-tree.h (atable_methods): New.
(atable_decl): New.
(atable_syms_decl): New.
(enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL,
JTI_ATABLE_SYMS_DECL. Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*.
(symbol_*type): Rename method_symbol* to symbol*type.
(emit_offset_symbol_table): Delete.
(emit_symbol_table): New.
(get_symbol_table_index): New.
(atable_type): New.
* expr.c (build_field_ref): Handle flag_indirect_dispatch.
(build_known_method_ref): Likewise.
(get_symbol_table_index): Rename from get_offset_table_index.
Parameterize to allow re-use by differing types of symbol table.
(build_invokevirtual): Pass table to get_offset_table_index.
* decl.c (java_init_decl_processing): Push types and decls for
atable and atable_syyms.
* class.c (build_static_field_ref): Handle flag_indirect_dispatch.
(make_class_data): Add new fields atable and atable_syms.
(emit_symbol_table): Rename from emit_offset_symbol_table.
Parameterize to allow re-use by different types of symbol table.
(build_symbol_entry): Renamed from build_method_symbols_entry.
2003-10-01 Andrew Haley <aph@redhat.com>
* java/lang/natClass.cc (initializeClass): Check for otable and
atable.
(_Jv_LinkOffsetTable): Check for existence of atable. Rewrite
loops using for(). Search superinterfaces. Check for fields as
well as methods. Initialize atable as well as otable: check for
static methods as well as virtual methods.
* java/lang/Class.h (struct _Jv_AddressTable): New.
(atable): New.
(atable_syms): New.
* include/jvm.h (_Jv_equalUtf8Consts): constify.
* prims.cc (_Jv_equalUtf8Consts): constify.
Paolo Carlini [Wed, 1 Oct 2003 14:32:05 +0000 (16:32 +0200)]
re PR libstdc++/12439 (Problems in time_put::put)
2003-10-01 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/12439
* include/bits/locale_facets.tcc (time_put::put): Deal
with the three issues pointed out by the PR.
* testsuite/22_locale/time_put/put/char/12439_1.cc: New.
* testsuite/22_locale/time_put/put/char/12439_3.cc: New.
* testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: New.
* testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: New.
* testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: New.
* config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
(alpha_expand_prologue): Store a zero for it.
(alpha_expand_epilogue): Don't reload it.
* config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
* config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
for the sigframe return address.
Paolo Carlini [Tue, 30 Sep 2003 13:44:59 +0000 (15:44 +0200)]
re PR libstdc++/12438 (Memory leak in locale::combine())
2003-09-30 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/12438
* include/bits/locale_facets.tcc (locale::combine): Don't
leak memory if _M_replace_facet throws.
* testsuite/22_locale/locale/cons/12438.cc: New, from the PR.
* include/bits/locale_classes.h (locale::locale(const locale&,
_Facet*)): Tweak, use consistently _M_remove_reference.
Nicolas Pitre [Tue, 30 Sep 2003 10:30:32 +0000 (10:30 +0000)]
Nicolas Pitre <nico@cam.org>
Nicolas Pitre <nico@cam.org>
* arm/lib1funcs.asm (ARM_DIV_MOD_BODY) split into ARM_DIV_BODY
and ARM_MOD_BODY.
(ARM_MOD_BODY): rewritten. added clz insns for __ARM_ARCH__ >= 5.
(ARM_DIV_BODY): added clz insns for __ARM_ARCH__ >= 5,
added better divisor alignment in the other case.
(ARM_DIV2_ORDER): added, finds the order of a single bit divisor.
(__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
macros above, add fast exits for divisor >= dividend, etc.
Richard Earnshaw [Tue, 30 Sep 2003 10:21:41 +0000 (10:21 +0000)]
Nicolas Pitre <nico@cam.org>
Nicolas Pitre <nico@cam.org>
* arm/ieee754-df.S: split compilation of fixunsdfsi from
L_fixdfsi target.
* arm/t-arm-elf: add _fixunsdfsi target due to the above.
re PR rtl-optimization/12345 (internal compiler error: verify_flow_info failed)
PR optimization/12345
* config/mips/mips-protos.h (mips_restore_gp): Remove.
(mips_gp_save_slot): Declare.
* config/mips/mips.c (mips_restore_gp): Remove in favor of...
(mips_gp_save_slot): ...this new function.
* config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
and mips_output_move to generate the output template.
(call_internal): Force splitting if TARGET_SPLIT_CALLS. Don't emit
a gp load after a noreturn call. Load the gp using a move rather
than an exception_receiver pattern.
(call_value_internal, call_value_multiple_internal): Likewise.
(call_split, call_value_split, call_value_multiple_split): Clobber $28.
varasm.c (assemble_real): Use real_to_target directly...
* varasm.c (assemble_real): Use real_to_target directly,
calculate the number of significant elements of the result
array and write them out in a loop, instead of using a giant
switch statement to pick the correct REAL_VALUE_TO_TARGET_*
macro.
configure.in: Remove wildcard from Solaris 8-9/Intel and Solaris 2.3/SPARC...
boehm-gc:
* configure.in: Remove wildcard from Solaris 8-9/Intel and Solaris
2.3/SPARC, there are no micro versions.
Treat Solaris 10 and up alike.
* configure: Regenerate.
gcc:
* config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
Solaris 7-9.
* fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
wildcards which explicitly match micro versions.
* fixinc/fixincl.x: Regenerate.
libstdc++-v3:
* configure.host: Handle Solaris 2.5 micro releases explicitly.
Remove wildcards from Solaris 2.6, 7-9: there were no
micro releases.
Treat Solaris 10 and up like 7-9.
Paolo Carlini [Mon, 29 Sep 2003 17:36:18 +0000 (17:36 +0000)]
[multiple changes]
2003-09-29 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/12296
* include/bits/istream.tcc (peek): Set eofbit if sgetc
returns eof.
* testsuite/27_io/basic_istream/peek/char/12296.cc:
New, from the PR.
2003-09-29 Nathan Myers <ncm@cantrip.org>
Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/11400
* include/bits/stl_algo.h (search_n):
Use iterator_traits<>::difference_type for __n.
* testsuite/25_algorithms/search_n/11400.cc: New, from the PR.
Michael Koch [Mon, 29 Sep 2003 11:53:23 +0000 (11:53 +0000)]
2003-09-29 Michael Koch <konqueror@gmx.de>
* java/net/InetAddress.java:
(isMulticastAddress): Dont use local variable to store address length.
Let the compiler optimize this.
(getHostName): Merged dcoumentation from classpath.
(getAddress): Likewise.
(getHostAddress): Likewise.
(hashCode): Likewise.
(equals): Likewise.
(toString): Likewise.
(getByName): Likewise.
(getAllByName): Likewise.
c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not file and line separately.
* c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
file and line separately.
f/
* com.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
file and line separately.
java/
* check-init.c (check_init): Save and restore input_location
instead of file and line separately.
* decl.c (java_expand_body): Likewise.
* jcf-write.c (generate_bytecode_insns): Likewise.
* parse.y (safe_layout_class): Likewise.
* jcf-parse.c (read_class, parse_class_file): Likewise.
(java_parse_file): Use %H for warning locator.