aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/resolve.cc10
2 files changed, 15 insertions, 0 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 844b848..e3f2139 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -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.
diff --git a/libjava/resolve.cc b/libjava/resolve.cc
index ae8ae90..92d66c2 100644
--- a/libjava/resolve.cc
+++ b/libjava/resolve.cc
@@ -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;