+2001-04-25 Bryce McKinlay <bryce@albatross.co.nz>
+
+ java.security merge and ClassLoader compliance fixes.
+
+ * java/lang/Class.h (Class): Include ProtectionDomain.h.
+ New protectionDomain field.
+ (forName): Add initialize parameter. Fixes declaration to comply with
+ JDK spec.
+ * java/lang/natClass.cc (forName): Correct declaration of the three-arg
+ variant. Honour "initialize" flag.
+ (getProtectionDomain0): New method.
+ * java/lang/Class.java: Fix forName() declaration.
+ (getPackage): New method based on Classpath implementation.
+ (getProtectionDomain0): New native method decl.
+ (getProtectionDomain): New method.
+ * java/lang/ClassLoader.java (getParent): Now final.
+ (definedPackages): New field.
+ (getPackage): New.
+ (defineClass): New variant with protectionDomain argument.
+ (definePackage): New.
+ (getPackages): New.
+ (findSystemClass): Now final.
+ (getSystemResourceAsStream): Remove redundant "final" modifier.
+ (getSystemResource): Remove redundant "final" modifier.
+ (getResources): Now final.
+ (protectionDomainPermission): New static field.
+ (unknownProtectionDomain): Ditto.
+ (defaultProtectionDomain): Ditto.
+ (getSystemClassLoader): Now non-native.
+ * java/util/ResourceBundle.java (tryGetSomeBundle): Use the correct
+ arguments for Class.forName().
+ * java/lang/Package.java: New file.
+ * gnu/gcj/runtime/VMClassLoader.java (getVMClassLoader): Removed.
+ (instance): Static initialize singleton.
+ (findClass): Override this, not findSystemClass.
+ * java/lang/natClassLoader.cc (defineClass0): Set class's
+ protectionDomain field as specified.
+ (getSystemClassLoader): Removed.
+ (findClass): Renamed from findSystemClass. Call the interpreter via
+ URLClassLoader.findClass if loading class via dlopen fails.
+
+ * java/security/*.java: java.security import/merge with Classpath.
+ * java/security/acl/*.java: Likewise.
+ * java/security/interfaces/*.java: Likewise.
+ * java/security/spec/*.java: Likewise.
+ * java/net/NetPermission.java: Likewise.
+ * java/net/SocketPermission.java: Likewise.
+ * gnu/java/security/provider/DefaultPolicy.java: Likewise.
+
+ * Makefile.am: Add new classes.
+ * Makefile.in: Rebuilt.
+ * gcj/javaprims.h: CNI namespace rebuild.
+
+2001-04-24 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in (CPPFLAGS): Added builddir and srcdir to CPPFLAGS
+ for libtool tests. Pre-create gnu/classpath/Configuration.java.
+ * configure: Rebuilt.
+
+2001-04-21 Tom Tromey <tromey@redhat.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (awt_java_source_files): Added Line2D.java.
+ * java/awt/geom/Line2D.java: Wrote.
+
+ * java/awt/Menu.java (addNotify): Wrote.
+
+ * java/awt/PopupMenu.java (addNotify): Implemented.
+ (show): Likewise.
+
+ * java/awt/Scrollbar.java (addNotify): Call super.addNotify.
+ * java/awt/List.java (addNotify): Call super.addNotify.
+ * java/awt/Label.java (addNotify): Call super.addNotify.
+ * java/awt/FileDialog.java (addNotify): Call super.addNotify.
+ * java/awt/Dialog.java (addNotify): Call super.addNotify.
+ * java/awt/Choice.java (addNotify): Call super.addNotify.
+ * java/awt/CheckboxMenuItem.java (addNotify): Call super.addNotify.
+ * java/awt/Checkbox.java (addNotify): Call super.addNotify.
+
+ * java/awt/List.java (replaceItem): Notify peer.
+
+ * java/awt/geom/Rectangle2D.java
+ (Float.setRect(float,float,float,float)): New method.
+
+ * java/awt/event/ContainerEvent.java (getContainer): Now returns
+ Container.
+
+ * java/awt/RenderingHints.java (Key): Class now public.
+
+ * java/awt/Rectangle.java (Rectangle): Now implements
+ Serializable.
+ (getPathIterator): Removed.
+
+ * java/awt/GraphicsConfiguration.java (GraphicsConfiguration): New
+ constructor.
+
+ * java/awt/FileDialog.java: Wrote.
+
+ * java/awt/EventQueue.java (isDispatchThread): Now public.
+ (invokeLater): Likewise.
+
+ * java/awt/Component.java (setCursor): Update peer.
+ (getFontMetrics): Use peer.
+
+ * java/awt/ComponentOrientation.java (ComponentOrientation): Class
+ now final.
+
+2001-04-20 Tom Tromey <tromey@redhat.com>
+
+ * java/awt/List.java: Wrote.
+ * java/awt/Dialog.java: Wrote.
+
+2001-04-20 Warren Levy <warrenl@redhat.com>
+
+ * java/lang/natSystem.cc (getSystemTimeZone): Adjust for DST.
+ * java/text/SimpleDateFormat.java
+ (indexInArray): Removed private method.
+ (processYear): Removed private method.
+ (parseLenient): Removed private method.
+ (parseLeadingZeros): Removed private method.
+ (parseStrict): Removed private method.
+ (expect): Added new private method.
+ (parse): Reverted to pre-Classpath merge version with minor fixes.
+ * java/util/natGregorianCalendar.cc (computeTime): Handle strict
+ calendars.
+
+2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
+
+ * java/io/File.java (normalizePath): New private method.
+ (File (String)): Use normalizePath().
+ (File (String, String)): Likewise.
+
+ * Makefile.am (libffi_files): Removed.
+ (libgcj.la): Link libffi as a convenience library instead of
+ refering to its object files directly.
+ * Makefile.in: Rebuilt.
+
+2001-04-08 Per Bothner <per@bothner.com>
+
+ * java/lang/natString.cc (_Jv_NewStringUtf8Const): Register finalizer.
+ Recalculate hash, since Utf8Const's hash is only 16 bits.
+
+ * java/lang/natString.cc (_Jv_StringFindSlot, rehash): Use high-order
+ bits of hash to calculate step for chaining.
+
+ * java/lang/natString.cc (intern, _Jv_NewStringUtf8Const): Rehash
+ when 2/3 full, rather than 3/4 full.
+
+2001-04-06 Tom Tromey <tromey@redhat.com>
+
+ * jni.cc (wrap_value<jobject>, wrap_value<jclass>): Removed.
+ (wrap_value<T*>): New specialization.
+ (_Jv_JNI_PopLocalFrame): Update env->locals.
+
+2001-04-05 Tom Tromey <tromey@redhat.com>
+
+ * libtool-version: Updated current.
+
+2001-04-04 Andreas Jaeger <aj@suse.de>
+
+ * gcj/Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo.
+ * gcj/Makefile.in: Rebuilt.
+ * Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo.
+ * Makefile.in: Rebuilt.
+ * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo.
+ * testsuite/Makefile.in: Rebuild.
+ * include/Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo.
+ * include/Makefile.in: Rebuild.
+
+2001-04-02 Zack Weinberg <zackw@stanford.edu>
+
+ * testsuite/lib/libjava.exp: Correct typo: 'output from source
+ compiled test', not 'execution from source compiled test'.
+ Use UNTESTED, not XFAIL, for tests which are not run because
+ they depend on a previous test which failed.
+
+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.
+