summaryrefslogtreecommitdiffstats
path: root/libjava
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2000-01-26 23:44:40 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2000-01-26 23:44:40 +0000
commite36e360e8b290131adc391d1710a07a1d317edf9 (patch)
tree461b8f76d096da3afccc45b05b8b7d560438451b /libjava
parent2f921ec9b3b0c251c055068251d7b4bdd0ca1865 (diff)
downloadppe42-gcc-e36e360e8b290131adc391d1710a07a1d317edf9.tar.gz
ppe42-gcc-e36e360e8b290131adc391d1710a07a1d317edf9.zip
* resolve.cc (get_ffi_type_from_signature): Handle case where
boolean is an int. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31637 138bc75d-0d04-0410-961f-82ee72b054a4
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 844b848b647..e3f2139e4b6 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 ae8ae903a37..92d66c2728a 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;
OpenPOWER on IntegriCloud