diff options
Diffstat (limited to 'ext/ffi_c/libffi/src/java_raw_api.c')
-rw-r--r-- | ext/ffi_c/libffi/src/java_raw_api.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/ext/ffi_c/libffi/src/java_raw_api.c b/ext/ffi_c/libffi/src/java_raw_api.c index 522c8bf..127123d 100644 --- a/ext/ffi_c/libffi/src/java_raw_api.c +++ b/ext/ffi_c/libffi/src/java_raw_api.c @@ -39,7 +39,7 @@ #include <ffi_common.h> #include <stdlib.h> -#if !defined(NO_JAVA_RAW_API) && !defined(FFI_NO_RAW_API) +#if !defined(NO_JAVA_RAW_API) size_t ffi_java_raw_size (ffi_cif *cif) @@ -60,6 +60,9 @@ ffi_java_raw_size (ffi_cif *cif) case FFI_TYPE_STRUCT: /* No structure parameters in Java. */ abort(); + case FFI_TYPE_COMPLEX: + /* Not supported yet. */ + abort(); default: result += FFI_SIZEOF_JAVA_RAW; } @@ -104,6 +107,10 @@ ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args) *args = (void*) &(raw++)->ptr; break; + case FFI_TYPE_COMPLEX: + /* Not supported yet. */ + abort(); + default: *args = raw; raw += @@ -126,6 +133,9 @@ ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args) *args = (void*) raw; raw += 2; break; + case FFI_TYPE_COMPLEX: + /* Not supported yet. */ + abort(); default: *args = (void*) raw++; } @@ -254,6 +264,10 @@ ffi_java_rvalue_to_raw (ffi_cif *cif, void *rvalue) *(SINT64 *)rvalue <<= 32; break; + case FFI_TYPE_COMPLEX: + /* Not supported yet. */ + abort(); + default: break; } @@ -279,6 +293,10 @@ ffi_java_raw_to_rvalue (ffi_cif *cif, void *rvalue) *(SINT64 *)rvalue >>= 32; break; + case FFI_TYPE_COMPLEX: + /* Not supported yet. */ + abort(); + default: break; } @@ -353,4 +371,4 @@ ffi_prep_java_raw_closure (ffi_java_raw_closure* cl, #endif /* FFI_CLOSURES */ #endif /* !FFI_NATIVE_RAW_API */ -#endif /* !FFI_NO_RAW_API */ +#endif /* !NO_JAVA_RAW_API */ |