* jni.cc (array_from_valist): Use promoted types for va_arg.
authoraj <aj@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Sep 2001 05:08:10 +0000 (05:08 +0000)
committeraj <aj@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Sep 2001 05:08:10 +0000 (05:08 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45650 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/jni.cc

index 172253d..d5add01 100644 (file)
@@ -1,3 +1,7 @@
+2001-09-17  Andreas Jaeger  <aj@suse.de>
+
+       * jni.cc (array_from_valist): Use promoted types for va_arg.
+
 2001-09-16  Anthony Green  <green@redhat.com>
 
        * gnu/gcj/convert/IOConverter.java: Add support for iso8859_1.
 
 2001-09-14  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
 
-       * java/io/File.java (normalizePath): Use equals() not '==' for string 
+       * java/io/File.java (normalizePath): Use equals() not '==' for string
        comparison.
 
-       * java/util/Hashtable.java (Enumerator): Ensure that if 
+       * java/util/Hashtable.java (Enumerator): Ensure that if
        hasMoreElements() returns true, nextElement() will always return
        something even if the table has been modified.
 
 
 2001-09-05  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
 
-        * java/text/MessageFormat.java (setLocale): Don't catch ParseException 
+        * java/text/MessageFormat.java (setLocale): Don't catch ParseException
         here, DecimalFormat.applyPattern() does not throw it.
 
 2001-09-04  Tom Tromey  <tromey@redhat.com>
        Re-write it to avoid constructing unneeded temporaries.
        (<init>(int,int,Random)):  Use new init method to avoid constructing
        extra temporary BigIntegers.
-       
+
 2001-08-27  Tom Tromey  <tromey@redhat.com>
 
        * java/rmi/activation/Activatable.java,
        * gcj/javaprims.h: Add prototypes for _Jv_ThreadRun and new variant
        of _Jv_AttachCurrentThread.
        * gnu/gcj/runtime/FirstThread.java (FirstThread): Now extends Thread.
-       (run): New method. Take care of looking up main class manifest 
+       (run): New method. Take care of looking up main class manifest
        attribute and calling forName if neccessary. Then call call_main.
        (call_main): New native method.
-       * gnu/gcj/runtime/natFirstThread.cc (call_main): New function, code 
-       relocated from prims.cc. Look up and call main method. 
+       * gnu/gcj/runtime/natFirstThread.cc (call_main): New function, code
+       relocated from prims.cc. Look up and call main method.
        * java/lang/Thread.java (run_): Removed.
        * java/lang/natThread.cc (run_): Renamed to...
        (_Jv_ThreadRun): this. JVMPI notification code moved to ...
        UnsupportedOperationExceptions rather than JvFail'ing.
        (_Jv_AttachCurrentThread): New variant takes a Thread argument.
        Existing version wraps new variant.
-       
+
 
 2001-08-23  Tom Tromey  <tromey@redhat.com>
 
 2001-08-17  Hans-J. Boehm <Hans_Boehm@hp.com>
 
        * BigInteger.java: fix right shifts by nonzero multiples of 32.
-       
+
 2001-08-15  Tom Tromey  <tromey@redhat.com>
 
        * jni.cc: Include IdentityHashMap.h, not Hashtable.h.
        * include/posix.h (_POSIX_PII_SOCKET): Define.
        * configure.in (HAVE_SOCKLEN_T): Define.
        * java/net/natPlainSocketImpl.cc [!HAVE_SOCKLEN_T]: Move socklen_t
-       definition up. 
+       definition up.
        (_JV_accept): New function, avoids Tru64 UNIX accept macro.
        (java::net::PlainSocketImpl::accept): Use it.
        Fixes PRs libgcj/3694, libgcj/3696.
-       
+
        * configure.in (HAVE_STRUCT_IPV6_MREQ): New test.
        * acconfig.h (HAVE_STRUCT_IPV6_MREQ): Provide template.
        * configure, include/config.h.in: Regenerate.
 
 2001-07-26  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
 
-       * java/util/Calendar.java (set): Never recompute fields here. They 
+       * java/util/Calendar.java (set): Never recompute fields here. They
        will already be set if someone set time explicitly, and it can cause
        problems to do so. Don't invalidate AM_PM setting if HOUR is set.
        * java/util/GregorianCalendar.java (computeTime): Don't ignore an
-       HOUR setting if AM_PM is set. Don't try to ensure the HOUR value is 
+       HOUR setting if AM_PM is set. Don't try to ensure the HOUR value is
        sane.
        * java/text/SimpleDateFormat.java (defaultCentury): New field.
-       (readObject): Call set2DigitYearStart if appropriate so that 
+       (readObject): Call set2DigitYearStart if appropriate so that
        defaultCentury is calculated.
        (SimpleDateFormat): Don't bother clearing calendar here. Call
        computeCenturyStart().
 
 2001-07-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
 
-       * java/util/LinkedList.java (clone): Clear the copy list with clear(), 
+       * java/util/LinkedList.java (clone): Clear the copy list with clear(),
        not by setting its size field.
 
 2001-07-13  Alexandre Petit-Bianco  <apbianco@redhat.com>
 
 2001-07-12  Tom Tromey  <tromey@redhat.com>
            David Brownell  <david-b@pacbell.net>
-       
+
        Fix for PR libgcj/3426:
        * gnu/gcj/convert/natIconv.cc: Include CharConversionException.h,
        errno.h.
        * java/lang/ThreadLocal.java: Initial import.
 
 2001-07-07  Jeff Sturm  <jsturm@one-point.com>
-       
+
        * Makefile.am (libgcj.jar): Don't recursively make
        built_java_source_files.  Avoid long command lines.
        Don't change to $(srcdir) to invoke javac.
        * Makefile.in: Rebuild.
        * Makefile.am: Ditto.
        * libgcjdata.c: Remove.
-       
+
 2001-06-02  Anthony Green  <green@redhat.com>
 
        * configure: Rebuild.
        * Makefile.am (libgcj_la_DEPENDENCIES):  Add $(nat_files).
        (libgcj_la_LIBADD):  Likewise.
        (libgcjx_la_DEPENDENCIES, libgcjx_la_LIBADD):  Add $(x_nat_files).
-       
+
 2001-05-21  Per Bothner  <per@bothner.com>
 
        * gcj/javaprims.h (_Jv_FormatInt):  New declaration.
 
 2001-05-18  Andrew Haley  <aph@cambridge.redhat.com>
 
-       * include/dwarf2-signal.h: New file.    
+       * include/dwarf2-signal.h: New file.
        * configure.in (SYSDEP_SOURCES): Add dwarf2-signal.h for PPC.
        * configure.host (EXCEPTIONSPEC): Don't use sjlj on PPC.
         * configure: Rebuilt.
 
 2001-05-17  Martin Kahlert  <martin.kahlert@infineon.com>
 
-       * java/lang/natClass.cc (_Jv_FindIIndex): Fix an off by one error 
+       * java/lang/natClass.cc (_Jv_FindIIndex): Fix an off by one error
        with length of ioffset table.
        (_Jv_IsAssignableFrom): Likewise.
 
 2001-04-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
 
        Fix PR libgcj/2237:
-       * java/io/ObjectStreamClass.java (setClass): Calculate 
+       * java/io/ObjectStreamClass.java (setClass): Calculate
        serialVersionUID for local class and compare it against the UID
        from the Object Stream. Throw InvalidClassException upon mismatch.
        (setUID): Renamed to...
-       (getClassUID): this. Return the calculated class UID rather than 
+       (getClassUID): this. Return the calculated class UID rather than
        setting uid field directly.
        (getDefinedSUID): Removed.
-       * java/io/ObjectInputStream.java (resolveClass): Use the 
-       three-argument Class.forName(). 
+       * java/io/ObjectInputStream.java (resolveClass): Use the
+       three-argument Class.forName().
        * java/io/InvalidClassException (toString): Don't include classname in
        result if it is null.
 
 
        java.security merge and ClassLoader compliance fixes.
 
-       * java/lang/Class.h (Class): Include ProtectionDomain.h. 
+       * java/lang/Class.h (Class): Include ProtectionDomain.h.
        New protectionDomain field.
-       (forName): Add initialize parameter. Fixes declaration to comply with 
+       (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.
        * 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-12  Bryce McKinlay  <bryce@albatross.co.nz>
 
-       * java/io/File.java (normalizePath): New private method. 
+       * 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 
+       (libgcj.la): Link libffi as a convenience library instead of
        refering to its object files directly.
        * Makefile.in: Rebuilt.
 
@@ -3254,20 +3258,20 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
 2000-11-26  Anthony Green  <green@redhat.com>
 
        * javax/naming/spi/NamingManager.java,
-       javax/naming/spi/ObjectFactory.java,
-       javax/naming/spi/InitialContextFactory.java,
-       javax/naming/spi/InitialContextFactoryBuilder.java,
-       javax/naming/RefAddr.java, javax/naming/Reference.java,
-       javax/naming/NamingException.java, javax/naming/Context.java,
-       javax/naming/Referenceable.java,
-       javax/naming/directory/InitialDirContext.java,
-       javax/naming/directory/DirContext.java,
-       javax/naming/directory/Attributes.java,
-       javax/naming/directory/Attribute.java,
-       javax/naming/StringRefAddr.java,
-       javax/naming/NamingEnumeration.java, javax/naming/Name.java,
-       javax/naming/InitialContext.java,
-       javax/naming/NoInitialContextException.java: New files.
+       javax/naming/spi/ObjectFactory.java,
+       javax/naming/spi/InitialContextFactory.java,
+       javax/naming/spi/InitialContextFactoryBuilder.java,
+       javax/naming/RefAddr.java, javax/naming/Reference.java,
+       javax/naming/NamingException.java, javax/naming/Context.java,
+       javax/naming/Referenceable.java,
+       javax/naming/directory/InitialDirContext.java,
+       javax/naming/directory/DirContext.java,
+       javax/naming/directory/Attributes.java,
+       javax/naming/directory/Attribute.java,
+       javax/naming/StringRefAddr.java,
+       javax/naming/NamingEnumeration.java, javax/naming/Name.java,
+       javax/naming/InitialContext.java,
+       javax/naming/NoInitialContextException.java: New files.
 
 2000-11-25  Anthony Green  <green@redhat.com>
 
index be45cb2..8341d1c 100644 (file)
@@ -110,19 +110,19 @@ jvmpiEnableEvent (jint event_type, void *)
     case JVMPI_EVENT_OBJECT_ALLOC:
       _Jv_JVMPI_Notify_OBJECT_ALLOC = _Jv_JVMPI_Interface.NotifyEvent;
       break;
-      
+
     case JVMPI_EVENT_THREAD_START:
       _Jv_JVMPI_Notify_THREAD_START = _Jv_JVMPI_Interface.NotifyEvent;
       break;
-      
+
     case JVMPI_EVENT_THREAD_END:
       _Jv_JVMPI_Notify_THREAD_END = _Jv_JVMPI_Interface.NotifyEvent;
       break;
-      
+
     default:
       return JVMPI_NOT_AVAILABLE;
     }
-  
+
   return JVMPI_SUCCESS;
 }
 
@@ -134,11 +134,11 @@ jvmpiDisableEvent (jint event_type, void *)
     case JVMPI_EVENT_OBJECT_ALLOC:
       _Jv_JVMPI_Notify_OBJECT_ALLOC = NULL;
       break;
-      
+
     default:
       return JVMPI_NOT_AVAILABLE;
     }
-  
+
   return JVMPI_SUCCESS;
 }
 #endif
@@ -317,7 +317,7 @@ _Jv_JNI_PopLocalFrame (JNIEnv *env, jobject result, int stop)
 
   bool done = false;
   while (rf != NULL && ! done)
-    {  
+    {
       for (int i = 0; i < rf->size; ++i)
        if (rf->vec[i] != NULL)
          unmark_for_gc (rf->vec[i], local_ref_table);
@@ -396,7 +396,7 @@ _Jv_JNI_GetVersion (JNIEnv *)
 }
 
 static jclass
-_Jv_JNI_DefineClass (JNIEnv *env, jobject loader, 
+_Jv_JNI_DefineClass (JNIEnv *env, jobject loader,
                     const jbyte *buf, jsize bufLen)
 {
   try
@@ -656,9 +656,9 @@ array_from_valist (jvalue *values, JArray<jclass> *arg_types, va_list vargs)
   for (int i = 0; i < arg_types->length; ++i)
     {
       if (arg_elts[i] == JvPrimClass (byte))
-       values[i].b = va_arg (vargs, jbyte);
+       values[i].b = (jbyte) va_arg (vargs, int);
       else if (arg_elts[i] == JvPrimClass (short))
-       values[i].s = va_arg (vargs, jshort);
+       values[i].s = (jshort) va_arg (vargs, int);
       else if (arg_elts[i] == JvPrimClass (int))
        values[i].i = va_arg (vargs, jint);
       else if (arg_elts[i] == JvPrimClass (long))
@@ -668,9 +668,9 @@ array_from_valist (jvalue *values, JArray<jclass> *arg_types, va_list vargs)
       else if (arg_elts[i] == JvPrimClass (double))
        values[i].d = va_arg (vargs, jdouble);
       else if (arg_elts[i] == JvPrimClass (boolean))
-       values[i].z = va_arg (vargs, jboolean);
+       values[i].z = (jboolean) va_arg (vargs, int);
       else if (arg_elts[i] == JvPrimClass (char))
-       values[i].c = va_arg (vargs, jchar);
+       values[i].c = (jchar) va_arg (vargs, int);
       else
        {
          // An object.
@@ -1044,7 +1044,7 @@ _Jv_JNI_NewObjectA (JNIEnv *env, jclass klass, jmethodID id,
 
 template<typename T>
 static T
-_Jv_JNI_GetField (JNIEnv *env, jobject obj, jfieldID field) 
+_Jv_JNI_GetField (JNIEnv *env, jobject obj, jfieldID field)
 {
   JvAssert (obj);
   T *ptr = (T *) ((char *) obj + field->getOffset ());
@@ -1393,7 +1393,7 @@ _Jv_JNI_GetPrimitiveArrayRegion (JNIEnv *env, JArray<T> *array,
 
 template<typename T>
 static void
-_Jv_JNI_SetPrimitiveArrayRegion (JNIEnv *env, JArray<T> *array, 
+_Jv_JNI_SetPrimitiveArrayRegion (JNIEnv *env, JArray<T> *array,
                                 jsize start, jsize len, T *buf)
 {
   // The cast to unsigned lets us save a comparison.