From 3141ed0fe01e5e5cd726dc6410f49a0323361d94 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 29 Nov 2005 18:34:58 +0000 Subject: re PR java/18278 (JNI functions cannot return a weak reference) gcc/java: PR java/18278: * expr.c (build_jni_stub): Unwrap the return value. * java-tree.h (soft_unwrapjni_node): New define. (enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE. * decl.c (java_init_decl_processing): Initialize soft_unwrapjni_node. libjava: PR java/18278: * testsuite/libjava.jni/pr18278.out: New file. * testsuite/libjava.jni/pr18278.c: New file. * testsuite/libjava.jni/pr18278.java: New file. * include/jvm.h (_Jv_UnwrapJNIweakReference): Declare. * jni.cc (_Jv_UnwrapJNIweakReference): New function. (call): Unwrap return value if needed. From-SVN: r107676 --- libjava/include/jvm.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libjava/include') diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h index fc104d6..8d34059 100644 --- a/libjava/include/jvm.h +++ b/libjava/include/jvm.h @@ -459,6 +459,8 @@ extern "C" void _Jv_RegisterClasses_Counted (const jclass *classes, extern "C" void _Jv_RegisterResource (void *vptr); extern void _Jv_UnregisterClass (_Jv_Utf8Const*, java::lang::ClassLoader*); +extern "C" jobject _Jv_UnwrapJNIweakReference (jobject); + extern jclass _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader); extern jclass _Jv_FindClassFromSignature (char *, -- cgit v1.1