configure.in (GCC_UNWIND_INCLUDE): Assume we're built within the same tree as gcc.
[gcc.git] / libjava / ChangeLog
index 9169dd57eac4d61c17d0f4718fc90e9592580af6..1e26ad1a2dc3b636e9b38f326e475bef73ac960b 100644 (file)
@@ -1,3 +1,438 @@
+2001-04-02  Richard Henderson  <rth@redhat.com>
+
+       * configure.in (GCC_UNWIND_INCLUDE): Assume we're built within
+       the same tree as gcc.
+       * configure: Rebuilt.
+
+       * exception.cc (_Jv_Throw): Clarify commentary.
+
+2001-04-02  Marcus G. Daniels  <mgd@swarm.org>
+
+       * jni.cc (wrap_value<jclass>): New specialization.
+
+2001-04-02  Tom Tromey  <tromey@redhat.com>
+
+       * java/io/PrintStream.java (out): Removed field.  Fixes PR
+       java/2449.
+       (write): Call flush, not out.flush, per spec.
+       (close): Flush output stream, per spec.  Handle
+       InterruptedIOException.
+       (checkError): Likewise.
+       (flush, print, write): Handle InterruptedIOException per spec.
+       (PrintStream): Don't create BufferedOutputStream.
+       (work_bytes): New field.
+       (writeChars): Use work_bytes.  Don't assume `out' is a
+       BufferedOutputStream.
+
+2001-04-02  Torsten Rueger  <torsten.rueger@firsthop.com>
+
+       * java/text/MessageFormat.java (setLocale): Added missing `else'.
+       For PR libgcj/2429.
+
+2001-03-30  Tom Tromey  <tromey@redhat.com>
+
+       * jni.cc (add_char): Correctly encode non-ascii characters.
+       (add_char): Define even when INTERPRETER not defined.
+       (mangled_name): Likewise.
+       (_Jv_GetJNIEnvNewFrame): Likewise.
+       (_Jv_LookupJNIMethod): Likewise.
+
+2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
+
+       * configure.host: Enable interpreter for PPC.
+
+2001-04-02  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * java/lang/natSystem.cc (init_properties): Revert yesterday's changes
+       to "file.separator", "path.separator", and "java.io.tmpdir" property
+       initialization.
+       * java/io/File.java: Likewise.
+       * java/io/natFile.cc (init_native): Likewise.
+       * java/io/natFileWin32.cc (init_native): Likewise.
+
+2001-04-01  Per Bothner  <per@bothner.com>
+
+       * java/lang/natString.cc (intern):  If string's data does not point to
+       this String, make a fresh String that does.
+
+       * java/lang/natString.cc (unintern):  Replace by static function.
+       * java/lang/String.java (unintern):  Remove method.
+
+2001-04-01  Per Bothner  <per@bothner.com>
+
+       * DeflaterOutputStream.java (deflate):  Loop while def.needsInput.
+       (finish):  def.deflate needs to be called in a loop.
+       (inbuf, inbufLength):  New private fields.
+       (write(int)): Use inbuf.
+       (write(byte[],int,int):  Check if pending output in inbuf.
+       * ZipOutputStream.java:  Don't use Deflater if stored.
+       Use a Checksum object directly, not via a CheckedOutputStream.
+       (uncompressed_size):  New field,
+       (closeEntry):  Only write data_directory if needed.
+       (write):  If STORED, write directly.
+       Always update crc, and uncompressed_size.
+       (write_entry):  Fix lots of protocol erors.
+
+2001-04-01  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       1.3-Compliant Implementation of java.io.File.
+       * java/lang/natSystem.cc (init_properties): Get "file.separator",
+       "path.separator", and "java.io.tmpdir" from the File class, instead
+       of setting them explicitly. 
+       * java/io/File.java: Do not canonicalize paths for security manager
+       checks. Call init_native() from static initializer. Do not pass path 
+       argument to native methods. New native method declarations. Some 
+       security manager checks moved to checkWrite().
+       (equals): Check file system case sensitivity and act appropriatly.
+       (hashCode): Likewise.
+       (isHidden): New method implemented.
+       (performList): Changed prototype. Now takes a class argument specifying
+       the class of the returned array: Strings or File objects. Also added
+       FileFilter argument.
+       (listFiles): New variants with "File" return type implemented.
+       (createTempFile): Use createNewFile(). Use maxPathLen.
+       (setReadOnly): New method implemented.
+       (listRoots): Likewise.
+       (compareTo): Likewise.
+       (setLastModified): Likewise.
+       (checkWrite): New method.
+       (setPath): Removed.
+       * java/io/natFile.cc: Various functions no longer take canonical path
+       argument.
+       (stat): Handle ISHIDDEN query.
+       (isAbsolute): Remove WIN32 cruft.
+       (performList): New arguments. Handle returning either File[] or String[]
+       arrays. Check with FileFilter or FilenameFilter arguments as 
+       appropriate. Use an ArrayList, not a Vector, for the temporary list.
+       (performSetReadOnly): New method implemented.
+       (performListRoots): Likewise.
+       (performSetLastModified): Likewise.
+       (performCreate): Likewise.
+       (init_native): New initialization function.
+       * java/io/natFileWin32.cc: Various functions no longer take canonical 
+       path argument.
+       (stat): Add FIXME about ISHIDDEN query.
+       (performList): New arguments. Handle returning either File[] or String[]
+       arrays. Check with FileFilter or FilenameFilter arguments as 
+       appropriate. Use an ArrayList, not a Vector, for the temporary list.
+       (performSetReadOnly): New. Stubbed.
+       (performListRoots): Likewise.
+       (performSetLastModified): Likewise.
+       (performCreate): Likewise.
+       (init_native) New initialization function.      
+       * configure.in: Check for utime() and chmod().
+       * configure: Rebuilt.
+       * include/config.h.in: Rebuilt.
+
+       Resolves PR libgcj/1759.
+
+2001-03-28  Richard Henderson  <rth@redhat.com>
+
+       IA-64 ABI Exception Handling:
+       * Makefile.am (GCC_UNWIND_INCLUDE): Rename from EH_COMMON_INCLUDE.
+       (AM_CXXFLAGS): -fnon-call-exceptions not -fasynchronous-exceptions.
+       Remove EXCEPTIONSPEC.
+       * configure.host (libgcj_sjlj): Remove.
+       * configure.in (EXCEPTIONSPEC): Remove.
+       (enable-sjlj-exceptions): Detect if not specified.
+       (GCC_UNWIND_INCLUDE): Rename from EH_COMMON_INCLUDE; change
+       what header we're looking for.
+       * libgcj.spec.in (jc1): Remove EXCEPTIONSPEC.
+       * Makefile.in, configure: Regenerate.
+       * exception.cc: Don't declare libgcc2 stuff.
+       (java_eh_info, _Jv_type_matcher, _Jv_exception_info): Remove.
+       (_Jv_eh_alloc, _Jv_eh_free, _Jv_setup_eh_info): Remove.
+       (win32_get_restart_frame): Remove.
+       (struct java_exception_header): New.
+       (__gcj_exception_class): New.
+       (get_exception_header_from_ue): New.
+       (_Jv_Throw): Rewrite for IA-64 ABI unwind routines.
+       (size_of_encoded_value, read_encoded_value): New.
+       (read_uleb128, read_sleb128, parse_lsda_header): New.
+       (get_ttype_entry, __gcj_personality_sj0): New.
+       * gcj/javaprims.h (_Jv_Sjlj_Throw): Remove.
+
+2001-03-27  Joerg Brunsmann  <joerg_brunsmann@yahoo.de>
+
+       * javax/naming/InitialContext.java (init): Fix typo.
+       (composeName): Remove unnecessary semicolon.
+       (addToEnvironment): Remove unnecessary semicolon.
+       (addToEnvironment): Use put() instead of add().
+
+       * javax/naming/InitialContext.java (InitialContext): 
+       Make public.
+       (destroySubcontext): Method doesn't return a result.
+       * javax/naming/Context.java: Import java.util.Hashtable.
+       * javax/naming/Name.java: Import java.util.Enumeration.
+
+2001-03-27  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * Makefile.am (libffi_files): Use 'find' to pick up libffi libtool
+       objects in subdirectories.
+       * Makefile.in: Rebuilt.
+
+2001-03-25  Richard Henderson  <rth@redhat.com>
+
+       * exception.cc (java_eh_info): Make value type jthrowable.
+       (_Jv_type_matcher): Remove now unneeded cast.
+       (_Jv_Throw): Make argument type jthrowable.  Munge name
+       for SJLJ_EXCEPTIONS here ...
+       * gcj/cni.h: ... not here.
+       (JvThrow): Remove.
+       * gcj/javaprims.h (_Jv_Throw, _Jv_Sjlj_Throw): Update declarations.
+
+       * defineclass.cc, interpret.cc, jni.cc, posix-threads.cc,
+       prims.cc, resolve.cc, gnu/gcj/runtime/natFirstThread.cc,
+       gnu/gcj/xlib/natDrawable.cc, gnu/gcj/xlib/natFont.cc,
+       gnu/gcj/xlib/natWMSizeHints.cc, gnu/gcj/xlib/natWindowAttributes.cc,
+       gnu/gcj/xlib/natXImage.cc, java/io/natFile.cc, 
+       java/io/natFileDescriptorEcos.cc, java/io/natFileDescriptorPosix.cc,
+       java/io/natFileDescriptorWin32.cc, java/io/natFileWin32.cc,
+       java/lang/natClass.cc, java/lang/natClassLoader.cc,
+       java/lang/natDouble.cc, java/lang/natObject.cc, 
+       java/lang/natPosixProcess.cc, java/lang/natRuntime.cc,
+       java/lang/natString.cc, java/lang/natSystem.cc,
+       java/lang/natThread.cc, java/lang/reflect/natArray.cc,
+       java/lang/reflect/natConstructor.cc, java/lang/reflect/natField.cc,
+       java/lang/reflect/natMethod.cc, java/util/zip/natDeflater.cc,
+       java/util/zip/natInflater.cc:
+       Use throw, not JvThrow or _Jv_Throw.
+
+2001-03-24  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * java/util/HashMap.java (HashMap): If 0 is given for initialCapacity 
+       paramater, bump it to 1.
+       * java/util/Hashtable.java (Hashtable): Likewise.
+
+2001-03-23  Per Bothner  <per@bothner.com>
+
+       * java/lang/natDouble.cc (parseDouble):  Cannot use errno to
+       check for errors, since we don't want to throw exception on
+       overflow/underflow.  Instead, trim whitespace, and then check that
+       _strtod_r uses up all the rest of the string.
+
+       * java/lang/natClass.cc (_Jv_IsAssignableFrom):  Checking the
+       ancestors array is invalid for interfaces, so do that *after*
+       check that the target type is not an interface.
+
+2000-03-23  Jeff Sturm  <jsturm@one-point.com>
+
+       * prims.cc (_Jv_FindClassFromSignature): Check return of
+       recursive call.  Do not abort on invalid signature; return NULL
+       instead.
+
+2001-03-22  Tom Tromey  <tromey@redhat.com>
+
+       * jni.cc (_Jv_JNI_GetAnyFieldID): Handle unresolved fields.
+       * java/lang/reflect/natField.cc (getType): Use _Jv_ResolveField
+       unconditionally.
+       * include/jvm.h (_Jv_ResolveField): Declare.
+       * include/java-interp.h (_Jv_ResolveField): Don't declare.
+       * resolve.cc (_Jv_ResolveField): No longer conditional on
+       INTERPRETER.
+
+2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       Fix for PR libgcj/1736. Thanks to Robert Boehne and Alexandre Oliva
+       for libtool hacking.
+       * Makefile.am (libgcj.la): New explicit rule. Echo the list of objects
+       to a temporary file, then invoke libtool with the -objectlist 
+       paramater.
+       (libgcjx.la): Likewise.
+       * Makefile.in: Rebuilt.
+
+2001-03-22  Joerg Brunsmann <joerg_brunsmann@yahoo.de>
+
+       * javax/naming/Context.java (SECURITY_CREDENTIALS): Fix typo.
+
+2001-03-22  Marcus G. Daniels  <mgd@swarm.org>
+
+       * jni.cc (add_char): Handle `.' like `/'.
+
+2001-03-22  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * java/lang/reflect/Method.java (getExceptionTypes): Call getType() to
+       initialize if exception_types is null.
+       * java/lang/reflect/Constructor.java: Likewise.
+       * java/lang/reflect/natConstructor.cc (getType): Initialize 
+       exception_types to an empty Object array.
+
+2001-03-21  Tom Tromey  <tromey@redhat.com>
+
+       * configure: Rebuilt.
+       * configure.in (GCJFLAGS): Subst.
+       * Makefile.in: Rebuilt.
+       * Makefile.am (jv_convert_LDFLAGS): Added -shared-libgcc.
+       (gij_LDFLAGS): Likewise.
+       (JC1FLAGS): Added GCJFLAGS and removed -g.
+
+       * java/io/natFileDescriptorPosix.cc (open): Add O_CREAT in
+       read/write case.  Fixes PR libgcj/2338.
+
+2001-03-20  Warren Levy  <warrenl@redhat.com>
+
+       * java/util/TimeZone.java: Sync up with Classpath.  Includes new
+       and corrected SimpleTimeZone's for the timezones hash table.
+
+2001-03-19  Per Bothner  <per@bothner.com>
+
+       * java/net/URLStreamHandler.java (parseURL):  Fix bug which would
+       "canonicalize" "../../xxx" to "/xxx".
+
+2001-03-19  Mark Wielaard <mark@klomp.org>
+
+       * java/util/ArrayList.java: Remove RCS keywords from comments
+       * java/util/BasicMapEntry.java: idem
+       * java/util/Dictionary.java: idem
+       * java/util/HashSet.java: idem
+
+       * java/util/EventObject.java: reindent
+       * java/util/Properties.java: idem
+       * java/util/SortedMap.java: idem
+
+       * java/util/Enumeration.java: Merge with Classpath
+       * java/util/EventListener.java: idem
+       * java/util/Observable.java: idem
+       * java/util/Observer.java: idem
+       * java/util/Stack.java: idem
+
+2001-03-17  Tom Tromey  <tromey@redhat.com>
+
+       * java/lang/natString.cc (rehash): Don't bother with memset;
+       _Jv_AllocBytes returns zero'd memory.  Use _Jv_AllocBytesChecked.
+       Use UNMASK_PTR.
+       (UNMASK_PTR): New macro.
+       (intern): Unmask pointer before returning it.  Register finalizer
+       for the string.
+       (unintern): Handle case where 
+       (MASK_PTR): New macro.
+       (PTR_MAKSED): Likewise.
+       (_Jv_NewStringUtf8Const): Use UNMASK_PTR.
+
+2001-03-01  Andrew Haley  <aph@redhat.com>
+
+       * java/lang/natThrowable.cc (printRawStackTrace): Copy the
+       stackTrace buffer to a correctly aligned pointer array.
+2001-03-12  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * java/lang/Runtime.java (_exit): Declare new package-private native.
+       * java/lang/natRuntime.cc (_exit): Implemented. Same as exit() but
+       without a security manager check.
+       (exit): Call _exit after security check.
+       * prims.cc (JvRunMain): Call Runtime._exit to shutdown the runtime
+       "naturally".
+       * java/lang/System.java (setSecurityManager): If a security manager
+       is already in place, call checkPermission. 
+       * java/lang/ThreadGroup.java (uncaughtException): If printStackTrace()
+       throws an exception, try to deal with it gracefully.
+       * java/lang/ExceptionInInitializerError.java (printStackTrace):
+       Only try to print the subordinate stack trace if "exception" is set.
+       Print our class name first.
+
+2001-03-08  Tom Tromey  <tromey@redhat.com>
+
+       * java/io/ObjectStreamClass.java (setUID): Don't write interface
+       info for array classes.
+       Fixes PR libgcj/1971.
+
+2001-03-06  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * java/util/TreeSet.java (writeObject): Use a for-loop instead of
+       Iterator.hasNext().
+
+2001-03-05  Jochen Hoenicke  <jochen@gnu.org>
+
+       * java/util/TreeMap.java (writeObject): Use defaultWriteObject()
+       instead of the new JDK1.2 API.  This is simpler and makes 
+       back-porting the classes to JDK1.1 trivial.
+       (readObject): likewise.
+       
+2001-03-01  Per Bothner  <per@bothner.com>
+
+       Changes merged from Kawa's gnu.math.
+       * gnu/gcj/math/MPN.java (rshift0): New method handles zero shift count.
+       (rshift(int[],int[],int,int):  Removed - not needed.
+       (gcd):  Use rshift0 rather than rshift.
+       * java/math/BigInteger.java (setShiftRight):  Likewise.
+       (divide):  Simplify by using rshift0.
+       (divide):  Zero-extend results if high-order bit set.
+
+2001-02-27  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * libgcj.spec.in: Insert %(libgcc) before %(liborig) to fix static
+       linking.
+
+2001-02-23  Per Bothner  <per@bothner.com>
+
+       Change to sometimes include class name in ClassFormatError message.
+       * defineclass.cc (_Jv_VerifyFieldSignature, _Jv_VerifyMethodSignature,
+       _Jv_VerifyIdentifier, _Jv_VerifyClassName (two overlods)):  Return
+       boolean instead of throwing ClassFormatError on failure.
+       (throw_class_format_error):  Change static function to method.
+       (_Jv_ClassReader):  New inline methods verify_identifier,
+       two overloads of verify_classname, verify_field_signature, and
+       verify_method_signature
+       * include/java-interp.h:  Update declarations to return bool.
+       * java/lang/natClassLoader.cc (defineClass0):  Explicitly throw
+       ClassFormatError since _Jv_VerifyClassName now returns bool.
+
+2001-02-23  Per Bothner  <per@bothner.com>
+
+       * java/lang/Throwable.java (CPlusPlusDemangler):  Pass -s java to
+       c++filt to select java-style output.
+
+2001-02-22  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       Fix for PR java/2040:
+       * java/util/HashMap.java (HashMap): Don't throw exception for 
+       loadFactor > 1. Add exception messages.
+       * java/util/Hashtable.java (Hashtable): Likewise.
+
+2001-02-21  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       Disable libgcjx by default.
+       * configure.in: Add support for --enable-java-awt configure option. 
+       Use --enable-java-awt=xlib to build the xlib peers (libgcjx).
+       * Makefile.am: Make libgcjx conditional on XLIB_AWT, instead of NO_X.
+       * Makefile.in: Rebuilt.
+       * configure: Rebuilt.
+
+2001-02-20  Tom Tromey  <tromey@redhat.com>
+
+       * java/io/PipedWriter.java (flush): Throw exception if stream
+       closed.
+       * java/io/OutputStreamWriter.java (write): Throw exception if
+       stream closed.
+       (writeChars): Don't throw exception if stream closed.
+       * java/io/CharArrayWriter.java (closed): New field.
+       (close): Set it.
+       (flush): Throw exception if stream closed.
+       (reset): Synchronize on correct lock.  Allow stream to be
+       reopened.
+       (toCharArray, toString, writeTo): Synchronize.
+       (write): Throwe exception if stream closed.
+       * java/io/BufferedWriter.java (close): Clear `buffer'.
+       (flush): Throw IOException if stream is closed.
+       (write): Likewise.
+
+2001-02-16  Tom Tromey  <tromey@cygnus.com>
+
+       * java/lang/ThreadGroup.java (activeCount): Only include threads
+       which are alive.
+       (enumerate): Likewise.
+
+2001-02-19  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * java/lang/Integer.java (getInteger): Return default argument if
+       property is not set. Don't call decode with null argument.
+       * java/lang/Long.java (getLong): Likewise.
+
+       * java/io/CharArrayReader.java (CharArrayReader): Throw 
+       IllegalArgumentException if constructor arguments are illegal.
+       (ready): Return false if no more characters can be read.
+       * java/io/ByteArrayInputStream.java (ByteArrayInputStream): Likewise.
+
 2001-02-17  Mark Wielaard <mark@klomp.org>
 
        * java/util/TimerTask.java: New version from Classpath.