Michael Koch [Wed, 3 Dec 2003 21:26:26 +0000 (21:26 +0000)]
class.c (make_class_data): Push field value to 'hack_signers' instead of 'signers'.
2003-12-03 Michael Koch <konqueror@gmx.de>
* class.c (make_class_data):
Push field value to 'hack_signers' instead of 'signers'.
* decl.c (java_init_decl_processing):
Push field 'hack_signers' instead of 'signers'.
Mark Mitchell [Wed, 3 Dec 2003 19:05:12 +0000 (19:05 +0000)]
re PR c++/10771 (Unreadable error message for illegal specialization)
PR c++/10771
* parser.c (cp_parser_check_for_invalid_template_id): New
function.
(cp_parser_simple_type_specifier): Use it.
(cp_parser_elaborated_type_specifier): Likewise.
(cp_parser_class_head): Likewise.
PR c++/10771
* g++.dg/template/error5.C: New test.
floatformat.c: Include "config.h" and <string.h> if available.
* floatformat.c: Include "config.h" and <string.h> if available.
(INFINITY, NAN): Define if not defined by <math.h>.
(floatformat_to_double): Handle NaN, infinity, and denormalized
numbers.
(floatformat_from_double): Likewise.
(ieee_test): In debugging code, use little endian rather than big
endian. Correct tests to handle NaN and to check correct sign of
zero. Omit m68k extended test.
(main): Add more debugging cases.
Zack Weinberg [Wed, 3 Dec 2003 16:48:20 +0000 (16:48 +0000)]
aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
* aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
* config.in, configure.in: Regenerate.
* cpphash.h, java/lex.h: Check both HAVE_ICONV and HAVE_ICONV_H
before including iconv.h.
Arnaud Charlet [Wed, 3 Dec 2003 11:47:53 +0000 (12:47 +0100)]
[multiple changes]
2003-12-03 Thomas Quinot <quinot@act-europe.fr>
PR ada/11724
* adaint.h, adaint.c, g-os_lib.ads:
Do not assume that the offset argument to lseek(2) is a 32 bit integer,
on some platforms (including FreeBSD), it is a 64 bit value.
Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
2003-12-03 Arnaud Charlet <charlet@act-europe.fr>
* gnatvsn.ads (Library_Version): Now contain only the relevant
version info.
(Verbose_Library_Version): New constant.
* g-spipat.adb, g-awk.adb, g-debpoo.adb,
g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
* gnatlbr.adb: Clean up: replace Library_Version by
Verbose_Library_Version.
* make.adb, lib-writ.adb, exp_attr.adb:
Clean up: replace Library_Version by Verbose_Library_Version.
* 5lintman.adb: Removed.
* Makefile.in:
Update and simplify computation of LIBRARY_VERSION.
Fix computation of GSMATCH_VERSION.
5lintman.adb is no longer used: replaced by 7sintman.adb.
2003-12-03 Robert Dewar <dewar@gnat.com>
* exp_ch5.adb:
(Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
name. Modified to consider small non-bit-packed arrays as troublesome
and in need of component-by-component assigment expansion.
2003-12-03 Vincent Celier <celier@gnat.com>
* lang-specs.h: Process nostdlib as nostdinc
* back_end.adb: Update Copyright notice
(Scan_Compiler_Arguments): Process -nostdlib directly.
2003-12-03 Jose Ruiz <ruiz@act-europe.fr>
* Makefile.in:
When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
included in HIE_NONE_TARGET_PAIRS.
2003-12-03 Ed Schonberg <schonberg@gnat.com>
* sem_attr.adb:
(Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
is legal in an instance, because legality is cheched in the template.
* sem_prag.adb:
(Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
appplied to an unchecked conversion of a formal parameter.
* sem_warn.adb:
(Output_Unreferenced_Messages): Suppress "not read" warnings on imported
variables.
* tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
routines. The second one is new functionality to deal with backtracing
through signal handlers.
(unwind): Split into the two separate subroutines above.
Update the documentation, and deal properly with sizeof (REG) different
from sizeof (void*).
* gcse.c (reg_clear_last_set): New function.
(reg_set_info): If data is non-null, treat it as an sbitmap of
registers, set the bit for the register being set.
(compute_store_table): Allocate last_set_in with xcalloc. Do not
memset this array on each iteration. Pass reg_set_in_block[bb->index]
to note_stores while computing last_set_in instead of scanning
last_set_in after the first pass through the insns.
Clear last_set_in using reg_clear_last_set instead of explicitly
rescanning after each insn. If checking is enabled, assert that
last_set_in is completely zeroed after each bb has been processed.
Paolo Carlini [Wed, 3 Dec 2003 09:26:03 +0000 (09:26 +0000)]
re PR libstdc++/12791 (_M_extract_num returns a wrong __beg in case of error)
2003-12-03 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12791
* include/bits/locale_facets.tcc (time_get::_M_extract_num):
Rewrite, stop the parsing as soon as a digit cannot possibly
lead to a final number within the bounds; otherwise, simplify,
avoiding __ctype.is() and atoi().
* testsuite/22_locale/time_get/get_date/char/12791.cc: New.
* testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.
* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
Minor tweak: a 4-digit integer cannot be bigger than 9999.
df.c (df_uses_record): The argument of a MEM is read-only, never read-write.
* df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
never read-write.
<REG>: Delete incorrect comment.
<SET>: Remove 'use_flags' variable.
Paolo Carlini [Wed, 3 Dec 2003 09:18:28 +0000 (09:18 +0000)]
re PR libstdc++/12791 (_M_extract_num returns a wrong __beg in case of error)
2003-12-03 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12791
* include/bits/locale_facets.tcc (time_get::_M_extract_num):
Rewrite, stop the parsing as soon as a digit cannot possibly
lead to a final number within the bounds; otherwise, simplify,
avoiding __ctype.is() and atoi().
* testsuite/22_locale/time_get/get_date/char/12791.cc: New.
* testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.
* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
Minor tweak: a 4-digit integer cannot be bigger than 9999.
Ralph Loader [Wed, 3 Dec 2003 07:04:19 +0000 (07:04 +0000)]
re PR java/12374 (Segfault on "".x)
PR java/12374:
* parse.y (qualify_ambiguous_name): Remove lots of broken
field access processing - there's no need to do that here,
because we have resolve_field_access. Remove
RESOLVE_EXPRESSION_NAME_P as it isn't used anywhere else.
* java-tree.h: Remove RESOLVE_EXPRESSION_NAME_P as it isn't
used.
Mohan Embar [Tue, 2 Dec 2003 22:26:50 +0000 (22:26 +0000)]
configure.in: Added new MinGW-specific configure flag --with-win32-nlsapi.
* configure.in: Added new MinGW-specific configure flag
--with-win32-nlsapi.
Added new AC_DEFINE MINGW_LIBGCJ_UNICODE.
Add -lunicows to MinGW SYSTEMSPEC if --with-win32-nlsapi
is set to unicows.
* configure: Rebuilt.
* include/config.h.in: Rebuilt.
* win32.cc (_Jv_Win32NewString): Implemented.
(nativeToUnicode): New helper function defined only for
non-UNICODE builds.
(unicodeToNative): Likewise.
(_Jv_Win32TempString): Implemented.
(lots): Refactored using tchar.h macros.
(WSAEventWrapper): Use _Jv_Win32NewString.
(_Jv_platform_initialize): Use GetModuleFileNameA instead
of GetModuleFileName.
(_Jv_platform_initProperties): Use _Jv_Win32NewString.
Use temporary stack buffer instead of a heap buffer.
* include/win32.h
Added defines for UNICODE and _UNICODE if MINGW_LIBGCJ_UNICODE is
defined; added tchar.h include.
(_Jv_Win32TempString): Declared new helper class.
(JV_TEMP_STRING_WIN32): New helper macro.
(_Jv_Win32NewString): Declared new helper method.
* java/io/natFileDescriptorWin32.cc (open): Use
JV_TEMP_STRING_WIN32 instead of JV_TEMP_UTF_STRING.
(write): Reformatted slightly.
* java/io/natFileWin32.cc (lots): Use tchar.h macros;
use JV_TEMP_STRING_WIN32 instead of JV_TEMP_UTF_STRING.
(getCanonicalPath): Use _Jv_Win32NewString instead of
JvNewStringUTF.
(performList): Likewise.
* java/lang/natWin32Process.cc (ChildProcessPipe):
Use tchar.h macros.
(startProcess): Use tchar.h macros, JV_TEMP_STRING_WIN32,
and UNICODE environment flag for CreateProcess.
* java/net/natNetworkInterfaceWin32.cc
(winsock2GetRealNetworkInterfaces): Use tchar.h macros and
_Jv_Win32NewString.
2003-12-02 Thomas Fitzsimmons <fitzsim@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c
(initState): Mark obj parameter as unused.
(stringWidth): Mark obj parameter as unused. Initialize
font_name properly.
Paolo Carlini [Tue, 2 Dec 2003 18:30:42 +0000 (18:30 +0000)]
locale_facets.tcc (time_get::do_get_year): Avoid using a basic_string and calling a full blown strtol (via __convert_to_v)...
2003-12-02 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (time_get::do_get_year):
Avoid using a basic_string and calling a full blown strtol
(via __convert_to_v) for simple 2 or 4 digits, base 10,
positive integers; simplify.
Dalibor Topic [Tue, 2 Dec 2003 17:05:40 +0000 (17:05 +0000)]
Reported by: Jim Pick <jim@kaffe.org>
2003-12-02 Dalibor Topic <robilad@kaffe.org>
Reported by: Jim Pick <jim@kaffe.org>
* libraries/javalib/java/util/Hashtable.java
(internalcontainsValue): New method.
(contains): Delegate to internalContainsValue.
Reported by: Mark Wielaard <mark@klomp.org>
* libraries/javalib/java/util/Hashtable.java
(contains): Improved comment.
Reported by: Jeroen Frijters <jeroen@frijters.net>
* libraries/javalib/java/util/Hashtable.java
(containsValue): Delegate to contains(Object) to make sure older
code overwriting it continues to work.
Fernando Nasser [Tue, 2 Dec 2003 16:19:28 +0000 (16:19 +0000)]
GtkListPeer.java (handleEvent): New method.
2003-12-02 Fernando Nasser <fnasser@redhat.com>
* gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): New
method. Handle mouse and key events that must generate
ActionEvents.
* java/awt/List.java (getSelectedIndex): Return -1
if no list element is selected.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c (awt_event_handler):
Correct handling of mouse and key events so that List receives them.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
(Java_gnu_java_awt_peer_gtk_GtkListPeer_delItems): Fix removal of
multiple list elements.
Ito Kazumitsu [Tue, 2 Dec 2003 16:15:15 +0000 (16:15 +0000)]
SimpleDateFormat.java (compileFormat): isLowerCase() and isUpperCase() allow too many characters.
2003-12-02 Ito Kazumitsu <kaz@maczuka.gcd.org>
* java/text/SimpleDateFormat.java (compileFormat):
isLowerCase() and isUpperCase() allow too many characters.
Just use >= 'A' && <= 'Z' || >= 'a' && <= 'z'.
Michael Koch [Tue, 2 Dec 2003 15:23:23 +0000 (15:23 +0000)]
2003-12-02 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java
(close): Close associated DatagramChannel object.
* java/net/ServerSocket.java
* java/net/Socket.java
(close): Reset impl and bound before calling getChannel().close() to
prevent from loops.
Michael Koch [Tue, 2 Dec 2003 14:19:34 +0000 (14:19 +0000)]
2003-12-02 Michael Koch <konqueror@gmx.de>
* gnu/java/net/protocol/jar/Connection.java
(Connection): Made class final, merged documentation with classpath.
(file_cache): Made private.
(jar_file): Renamed from jarfile.
Michael Koch [Tue, 2 Dec 2003 14:13:46 +0000 (14:13 +0000)]
2003-12-02 Michael Koch <konqueror@gmx.de>
* gnu/java/net/protocol/http/Connection.java
(Connection): Initialize doOutput to false;
(connect): Initialize inputStream, moved "send request" code to new
method.
(sendRequest): New method.
(getHttpHeaders): Don't reinitialize inputStream.
Paolo Carlini [Tue, 2 Dec 2003 09:16:30 +0000 (09:16 +0000)]
2003-12-02 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/monetary_members.cc
(money_base::_S_construct_pattern): For case 3: and 4:
exchanging 'if (__precedes)' and 'if (__space)' allows
to factor out a few more assignments.
Roger Sayle [Tue, 2 Dec 2003 01:43:58 +0000 (01:43 +0000)]
re PR rtl-optimization/11634 ([hppa] ICE in verify_local_live_at_start, at flow.c:555)
PR optimization/11634
* recog.c (split_insn): Factor test of INSN_P and handling of
set_noop_p out of here into the two callers.
(split_all_insns): Add INSN_P test and set_noop_p handling here.
If deleting a no-op set after reload that has a REG_UNUSED note,
mark the basic block as changed and recalculate life information.
(split_all_insns_noflow): Add INSN_P test and set_noop_p handling
here.
Roger Sayle [Tue, 2 Dec 2003 01:39:20 +0000 (01:39 +0000)]
re PR rtl-optimization/12322 (Significant slowdown when compiling computed-goto code in Parrot)
PR optimization/12322
* gcse.c (struct ls_expr): Change type of hash_index from int to
unsigned int.
(hash_expr): Document hash_table_size parameter and wrap long line.
(ldst_entry): Calculate expression's hash_index and record in ptr.
(trim_ld_motion_mems): Use hash_index to search a single bucket
instead of scanning the entire hash_table. Remove the "del" local
variable and use the equivalent "expr == 0" instead. Change last
to be a pointer to the pointer to the current element, to simplify
and speed-up deleting from a linked list.
* ggc.h (struct alloc_zone): Move forward declaration up.
(new_ggc_zone): New function prototype.
(destroy_ggc_zone): Ditto.
* ggc-simple.c (new_ggc_zone): New function, does nothing.
(destroy_ggc_zone): Ditto.
* ggc-page.c (new_ggc_zone): New function, does nothing.
(destroy_ggc_zone): Ditto.
* ggc-zone.c (struct page_entry): Fix comment.
(ggc_alloc_typed): Use a switch statement instead of ifs.
(new_ggc_zone): New function to set up a new GC zone.
(destroy_ggc_zone): New function to remove a GC zone.
init_ggc): Use new_ggc_zone to set up the default zones.
(ggc_collect): Walk a list of zones, instead of just the
default zones. Report statistics using the zone name.
Roger Sayle [Mon, 1 Dec 2003 21:16:59 +0000 (21:16 +0000)]
re PR rtl-optimization/12628 (Segfault with -fno-expensive-optimizations -fno-rerun-loop-opt)
PR optimization/12628
* toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
* regclass.c (reg_scan): Include allocate_reg_info time in
TV_REG_SCAN. Minor clean-ups.
(reg_scan_update): Minor clean-ups.
Olga Rodimina [Mon, 1 Dec 2003 20:23:50 +0000 (20:23 +0000)]
2003-12-01 Olga Rodimina <rodimina@redhat.com>
* java/awt/TextComponent.java:
(getSelectionStart): Updated javadocs.
(getSelectionEnd): Ditto.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer:
(getSelectionStart): Changed to return caret position if no
text is selected
(getSelectionEnd): Ditto.
Jeff Law [Mon, 1 Dec 2003 17:05:16 +0000 (10:05 -0700)]
flow.c (count_or_remove_death_notes_bb): New.
* flow.c (count_or_remove_death_notes_bb): New. Extracted from
count_or_remove_death_notes.
(count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
Michael Koch [Mon, 1 Dec 2003 16:35:45 +0000 (16:35 +0000)]
2003-12-01 Michael Koch <konqueror@gmx.de>
* gnu/java/net/protocol/http/Connection.java
(Connection): Merged class documentation.
(socket): Renamed from sock.
(Connection): Made protected, documentation added.
(connect): Give URL'S host instead of InetAddress to Socket
constructor.
(disconnect): Documentation added.
(getOutputStream): Rewrapped.
Ulrich Weigand [Mon, 1 Dec 2003 16:17:32 +0000 (16:17 +0000)]
reload.c (find_reloads_address): Split addresses of type (plus (plus (reg) (reg)) (const_int)) only if...
* reload.c (find_reloads_address): Split addresses of type
(plus (plus (reg) (reg)) (const_int)) only if one register
is either a valid base register or else one of the stack
frame related registers (sp/fp/ap).
Michael Koch [Mon, 1 Dec 2003 14:32:26 +0000 (14:32 +0000)]
natPlainSocketImplPosix.cc bind (): Dont set SockedImpl.address field on succesful bind.
2003-12-01 Michael Koch <konqueror@gmx.de>
* gnu/java/net/natPlainSocketImplPosix.cc
bind(): Dont set SockedImpl.address field on succesful bind.
* gnu/java/net/natPlainSocketImplWin32.cc
bind(): Likewise.
Arnaud Charlet [Mon, 1 Dec 2003 13:29:28 +0000 (14:29 +0100)]
[multiple changes]
2003-12-01 Nicolas Setton <setton@act-europe.fr>
* a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
so that the debugger can reliably access the value of the parameter,
and therefore is able to display the exception name when an exception
breakpoint is reached.
2003-12-01 Thomas Quinot <quinot@act-europe.fr>
* fmap.adb: Fix typo in warning message.
* g-socket.ads, g-socket.adb: Make Free a visible instance of
Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
2003-12-01 Vincent Celier <celier@gnat.com>
* mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
ther is no Afile.
(Build_Library): Get the switches only if Default_Switches is declared
in package Binder.
2003-12-01 Ed Schonberg <schonberg@gnat.com>
* exp_ch6.adb (Expand_Actuals): When applying validity checks to
actuals that are indexed components, reanalyze actual to ensure that
packed array references are properly expanded.
* sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
attempted assignment to a discriminant.
2003-12-01 Robert Dewar <dewar@gnat.com>
* rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
reformatting.
Eric Botcazou [Mon, 1 Dec 2003 07:15:31 +0000 (08:15 +0100)]
re PR middle-end/7847 (pragma pack / attribute(packed): unaligned access to packed structure)
PR middle-end/7847
* expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
do not recheck that 'op0' is a MEM. Move comment. When testing for
unaligned objects, take also into account the alignment of 'op0' and
'mode1' if 'op0' is a MEM.