diff options
Diffstat (limited to 'libjava/resolve.cc')
-rw-r--r-- | libjava/resolve.cc | 10 |
1 files changed, 10 insertions, 0 deletions
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; |