diff options
author | Marco Trudel <mtrudel@gmx.ch> | 2007-01-18 21:47:50 +0100 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2007-01-18 20:47:50 +0000 |
commit | 7896beb27a4556485b50e82e6196f2b8f0e1146a (patch) | |
tree | 4c2a62510b05498eb172331a262a4868c7425147 /libjava | |
parent | 576c9028f00d275eb9beb66ab2116383759130bb (diff) | |
download | gcc-7896beb27a4556485b50e82e6196f2b8f0e1146a.tar.gz |
jni.cc (_Jv_JNI_FindClass): Initialize class.
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.
From-SVN: r120930
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 9 | ||||
-rw-r--r-- | libjava/jni.cc | 3 | ||||
-rw-r--r-- | libjava/testsuite/libjava.jni/findclass2.c | 9 | ||||
-rw-r--r-- | libjava/testsuite/libjava.jni/findclass2.h | 19 | ||||
-rw-r--r-- | libjava/testsuite/libjava.jni/findclass2.jar | bin | 0 -> 1073 bytes | |||
-rw-r--r-- | libjava/testsuite/libjava.jni/findclass2.java | 24 | ||||
-rw-r--r-- | libjava/testsuite/libjava.jni/findclass2.out | 1 |
7 files changed, 64 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index a44076f4f7b..e572a5f91a9 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,12 @@ +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. diff --git a/libjava/jni.cc b/libjava/jni.cc index c5c2b0ff3cd..9dc9780f9a0 100644 --- a/libjava/jni.cc +++ b/libjava/jni.cc @@ -1,6 +1,6 @@ // 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. @@ -552,6 +552,7 @@ _Jv_JNI_FindClass (JNIEnv *env, const char *name) } r = loader->loadClass (n); + _Jv_InitClass (r); } catch (jthrowable t) { diff --git a/libjava/testsuite/libjava.jni/findclass2.c b/libjava/testsuite/libjava.jni/findclass2.c new file mode 100644 index 00000000000..634aea71054 --- /dev/null +++ b/libjava/testsuite/libjava.jni/findclass2.c @@ -0,0 +1,9 @@ +#include <stdlib.h> + +#include <findclass2.h> + +JNIEXPORT void JNICALL +Java_findclass2_searchClass (JNIEnv *env, jclass klass) +{ + (*env)->FindClass (env, "findclass2$inner"); +} diff --git a/libjava/testsuite/libjava.jni/findclass2.h b/libjava/testsuite/libjava.jni/findclass2.h new file mode 100644 index 00000000000..65d074644f4 --- /dev/null +++ b/libjava/testsuite/libjava.jni/findclass2.h @@ -0,0 +1,19 @@ +/* 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__ */ diff --git a/libjava/testsuite/libjava.jni/findclass2.jar b/libjava/testsuite/libjava.jni/findclass2.jar Binary files differnew file mode 100644 index 00000000000..05f867dce0c --- /dev/null +++ b/libjava/testsuite/libjava.jni/findclass2.jar diff --git a/libjava/testsuite/libjava.jni/findclass2.java b/libjava/testsuite/libjava.jni/findclass2.java new file mode 100644 index 00000000000..f7c0996e19a --- /dev/null +++ b/libjava/testsuite/libjava.jni/findclass2.java @@ -0,0 +1,24 @@ +// 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(); + } +} diff --git a/libjava/testsuite/libjava.jni/findclass2.out b/libjava/testsuite/libjava.jni/findclass2.out new file mode 100644 index 00000000000..ce013625030 --- /dev/null +++ b/libjava/testsuite/libjava.jni/findclass2.out @@ -0,0 +1 @@ +hello |