resolve.cc (get_ffi_type_from_signature): Handle case where boolean is an int.
authorTom Tromey <tromey@cygnus.com>
Wed, 26 Jan 2000 23:44:40 +0000 (23:44 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Wed, 26 Jan 2000 23:44:40 +0000 (23:44 +0000)
* resolve.cc (get_ffi_type_from_signature): Handle case where
boolean is an int.

From-SVN: r31637

libjava/ChangeLog
libjava/resolve.cc

index 844b848b6476fbca037e5b6131a08124db74f00b..e3f2139e4b6eaedb9da385fb193f6eb3cc6e548a 100644 (file)
@@ -1,3 +1,8 @@
+2000-01-26  Tom Tromey  <tromey@cygnus.com>
+
+       * resolve.cc (get_ffi_type_from_signature): Handle case where
+       boolean is an int.
+
 Tue Jan 25 08:51:16 2000  Tom Tromey  <tromey@ferrule.cygnus.com>
 
        * interpret.cc (run): Don't call println.
index ae8ae903a371a13d95097fa9b315a104988a5fad..92d66c2728a6a4b104f44079455b2561165245b2 100644 (file)
@@ -856,6 +856,16 @@ get_ffi_type_from_signature (unsigned char* ptr)
       break;
 
     case 'Z':
+      // On some platforms a bool is a byte, on others an int.
+      if (sizeof (jboolean) == sizeof (jbyte))
+       return &ffi_type_sint8;
+      else
+       {
+         JvAssert (sizeof (jbyte) == sizeof (jint));
+         return &ffi_type_sint32;
+       }
+      break;
+
     case 'B':
       return &ffi_type_sint8;
       break;