[multiple changes]
authorBryce McKinlay <bryce@gcc.gnu.org>
Fri, 18 May 2001 06:29:11 +0000 (07:29 +0100)
committerBryce McKinlay <bryce@gcc.gnu.org>
Fri, 18 May 2001 06:29:11 +0000 (07:29 +0100)
2001-05-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

* include/jvm.h: Move "#pragma GCC java_exceptions" to ...
* gcj/javaprims.h: ... here.
* gnu/gcj/io/shs.cc: Add "#pragma GCC java_exceptions".

2001-05-17  Martin Kahlert  <martin.kahlert@infineon.com>

* java/lang/natClass.cc (_Jv_FindIIndex): Fix an off by one error
with length of ioffset table.
(_Jv_IsAssignableFrom): Likewise.

From-SVN: r42248

libjava/ChangeLog
libjava/gcj/javaprims.h
libjava/gnu/gcj/io/shs.cc
libjava/include/jvm.h
libjava/java/lang/natClass.cc

index d960f1b65ad71502ea168a9122f09d490040db96..024955368ff67170aca374306cf9f0a8290bbf8e 100644 (file)
@@ -1,3 +1,15 @@
+2001-05-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * include/jvm.h: Move "#pragma GCC java_exceptions" to ...
+       * gcj/javaprims.h: ... here.
+       * gnu/gcj/io/shs.cc: Add "#pragma GCC java_exceptions".
+
+2001-05-17  Martin Kahlert  <martin.kahlert@infineon.com>
+
+       * java/lang/natClass.cc (_Jv_FindIIndex): Fix an off by one error 
+       with length of ioffset table.
+       (_Jv_IsAssignableFrom): Likewise.
+
 2001-05-17  Per Bothner  <per@bothner.com>
 
        * Makefile.am (ZIP):  The "fastjar" binary is now plain "jar".
index f16e97db9038d203930d0f44cfec9ce3bfe89b8f..e13195c7e77ec4b75406dae0677759000499b4e3 100644 (file)
@@ -11,6 +11,9 @@ details.  */
 #ifndef __JAVAPRIMS_H__
 #define __JAVAPRIMS_H__
 
+// Force C++ compiler to use Java-style exceptions.
+#pragma GCC java_exceptions
+
 // FIXME: this is a hack until we get a proper gcjh.
 // It is needed to work around system header files that define TRUE
 // and FALSE.
index 96b4f5603529477ed3d579d490b273b4051560ed..b9a563c544c8385d2ced56a73af5588fa8c84c94 100644 (file)
  * Comments to pgut1@cs.aukuni.ac.nz
  */
 
+// Force C++ compiler to use Java-style EH, so we don't have to link with
+// libstdc++.
+#pragma GCC java_exceptions
+
 #include <string.h>
 #include "shs.h"
 
index 1e80fbc321837effb90f065003ac720347c1568e..50af7569fb293db5198fade66a72b09028430011 100644 (file)
@@ -11,9 +11,6 @@ details.  */
 #ifndef __JAVA_JVM_H__
 #define __JAVA_JVM_H__
 
-// Force C++ compiler to use Java-style exceptions.
-#pragma GCC java_exceptions
-
 #include <gcj/javaprims.h>
 
 #include <java-assert.h>
index d7c2a54b5215977930adc42dd039d3622688102c..e88bd8309676f2c8640ea9e291aecf30a2be2946 100644 (file)
@@ -936,7 +936,7 @@ _Jv_IsAssignableFrom (jclass target, jclass source)
       if (__builtin_expect ((if_idt == NULL), false))
        return false; // No class implementing TARGET has been loaded.    
       jshort cl_iindex = cl_idt->cls.iindex;
-      if (cl_iindex <= if_idt->iface.ioffsets[0])
+      if (cl_iindex < if_idt->iface.ioffsets[0])
         {
          jshort offset = if_idt->iface.ioffsets[cl_iindex];
          if (offset < cl_idt->cls.itable_length
@@ -1181,8 +1181,7 @@ _Jv_GenerateITable (jclass klass, _Jv_ifaces *ifaces, jshort *itable_offsets)
     { 
       jclass iface = ifaces->list[i];
       itable_offsets[i] = itable_pos;
-      itable_pos = _Jv_AppendPartialITable (klass, iface, itable,
-                   itable_pos);
+      itable_pos = _Jv_AppendPartialITable (klass, iface, itable, itable_pos);
       
       /* Create interface dispatch table for iface */
       if (iface->idt == NULL)
@@ -1325,7 +1324,7 @@ _Jv_FindIIndex (jclass *ifaces, jshort *offsets, jshort num)
         {
          if (j >= num)
            goto found;
-         if (i > ifaces[j]->idt->iface.ioffsets[0])
+         if (i >= ifaces[j]->idt->iface.ioffsets[0])
            continue;
          int ioffset = ifaces[j]->idt->iface.ioffsets[i];
          /* We can potentially share this position with another class. */