summaryrefslogtreecommitdiffstats
path: root/libjava/java/lang
diff options
context:
space:
mode:
authorgreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-02 08:49:31 +0000
committergreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-02 08:49:31 +0000
commite581835cee6f3f43dbbd4d3ab45511a13dfb43ac (patch)
treefebe06899bfff25464060449a4e2fdff758976c6 /libjava/java/lang
parent7fc946eaea6dd81513ed85f0ad7977bb6e7e15e3 (diff)
downloadppe42-gcc-e581835cee6f3f43dbbd4d3ab45511a13dfb43ac.tar.gz
ppe42-gcc-e581835cee6f3f43dbbd4d3ab45511a13dfb43ac.zip
USE_LIBFFI change
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42791 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang')
-rw-r--r--libjava/java/lang/reflect/natMethod.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/libjava/java/lang/reflect/natMethod.cc b/libjava/java/lang/reflect/natMethod.cc
index 61adf26cb00..f269d2fdcf1 100644
--- a/libjava/java/lang/reflect/natMethod.cc
+++ b/libjava/java/lang/reflect/natMethod.cc
@@ -44,7 +44,11 @@ details. */
#include <stdlib.h>
+#if USE_LIBFFI
#include <ffi.h>
+#else
+#include <java/lang/UnsupportedOperationException.h>
+#endif
// FIXME: remove these.
#define BooleanClass java::lang::Boolean::class$
@@ -107,6 +111,7 @@ can_widen (jclass from, jclass to)
return fromx <= tox;
}
+#ifdef USE_LIBFFI
static inline ffi_type *
get_ffi_type (jclass klass)
{
@@ -148,6 +153,7 @@ get_ffi_type (jclass klass)
return r;
}
+#endif // USE_LIBFFI
jobject
java::lang::reflect::Method::invoke (jobject obj, jobjectArray args)
@@ -312,6 +318,7 @@ _Jv_CallAnyMethodA (jobject obj,
jvalue *args,
jvalue *result)
{
+#ifdef USE_LIBFFI
JvAssert (! is_constructor || ! obj);
JvAssert (! is_constructor || return_type);
@@ -428,6 +435,10 @@ _Jv_CallAnyMethodA (jobject obj,
result->l = obj;
return ex;
+#else
+ throw new java::lang::UnsupportedOperationException;
+ return 0;
+#endif // USE_LIBFFI
}
// This is another version of _Jv_CallAnyMethodA, but this one does
OpenPOWER on IntegriCloud