summaryrefslogtreecommitdiff
path: root/ext/ffi_c/libffi/src/java_raw_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/ffi_c/libffi/src/java_raw_api.c')
-rw-r--r--ext/ffi_c/libffi/src/java_raw_api.c22
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 */