configure.in (GCC_UNWIND_INCLUDE): Assume we're built within the same tree as gcc.
[gcc.git] / libjava / ChangeLog
index 0bf0ea9c756b9e24e764d96af003220df19ff0c6..1e26ad1a2dc3b636e9b38f326e475bef73ac960b 100644 (file)
@@ -1,3 +1,368 @@
+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.