* jni.cc (_Jv_JNI_FindClass): Initialize class.
* testsuite/libjava.jni/findclass2.jar: New file.
* testsuite/libjava.jni/findclass2.h: New file.
* testsuite/libjava.jni/findclass2.java: New file
* testsuite/libjava.jni/findclass2.c: New file.
* testsuite/libjava.jni/findclass2.out: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120930
138bc75d-0d04-0410-961f-
82ee72b054a4
+2007-01-18 Marco Trudel <mtrudel@gmx.ch>
+
+ * jni.cc (_Jv_JNI_FindClass): Initialize class.
+ * testsuite/libjava.jni/findclass2.jar: New file.
+ * testsuite/libjava.jni/findclass2.h: New file.
+ * testsuite/libjava.jni/findclass2.java: New file
+ * testsuite/libjava.jni/findclass2.c: New file.
+ * testsuite/libjava.jni/findclass2.out: New file.
+
2007-01-18 Tom Tromey <tromey@redhat.com>
* configure: Rebuilt.
// jni.cc - JNI implementation, including the jump table.
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
Free Software Foundation
This file is part of libgcj.
}
r = loader->loadClass (n);
+ _Jv_InitClass (r);
}
catch (jthrowable t)
{
--- /dev/null
+#include <stdlib.h>
+
+#include <findclass2.h>
+
+JNIEXPORT void JNICALL
+Java_findclass2_searchClass (JNIEnv *env, jclass klass)
+{
+ (*env)->FindClass (env, "findclass2$inner");
+}
--- /dev/null
+/* DO NOT EDIT THIS FILE - it is machine generated */
+
+#include <jni.h>
+
+#ifndef __findclass2__
+#define __findclass2__
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+JNIEXPORT void JNICALL Java_findclass2_searchClass (JNIEnv *env, jclass);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __findclass2__ */
--- /dev/null
+// Test that FindClass initializes the class.
+
+public class findclass2
+{
+ public static class inner
+ {
+ static
+ {
+ System.out.println("hello");
+ }
+ }
+
+ public static native void searchClass();
+
+ static
+ {
+ System.loadLibrary("findclass2");
+ }
+
+ public static void main(String[] args)
+ {
+ searchClass();
+ }
+}