From 076c702a9ff1f722e49cdf89843cadefdb6a79d2 Mon Sep 17 00:00:00 2001 From: tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Thu, 18 Jan 2007 20:47:50 +0000 Subject: [PATCH] 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120930 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/ChangeLog | 9 +++++++ libjava/jni.cc | 3 ++- libjava/testsuite/libjava.jni/findclass2.c | 9 +++++++ libjava/testsuite/libjava.jni/findclass2.h | 19 ++++++++++++++ libjava/testsuite/libjava.jni/findclass2.jar | Bin 0 -> 1073 bytes libjava/testsuite/libjava.jni/findclass2.java | 24 ++++++++++++++++++ libjava/testsuite/libjava.jni/findclass2.out | 1 + 7 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 libjava/testsuite/libjava.jni/findclass2.c create mode 100644 libjava/testsuite/libjava.jni/findclass2.h create mode 100644 libjava/testsuite/libjava.jni/findclass2.jar create mode 100644 libjava/testsuite/libjava.jni/findclass2.java create mode 100644 libjava/testsuite/libjava.jni/findclass2.out diff --git a/libjava/ChangeLog b/libjava/ChangeLog index a44076f4f7b7..e572a5f91a99 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 c5c2b0ff3cd9..9dc9780f9a06 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 000000000000..634aea710541 --- /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 000000000000..65d074644f48 --- /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 new file mode 100644 index 0000000000000000000000000000000000000000..05f867dce0c022ae3425f3ba1a89c19cd7452dbc GIT binary patch literal 1073 zcmWIWW@Zs#-~htnXd^QQBp?E0`?`iW>U#RQ>H9kRdAhj<hv@mbefB+b+Q(a0?;@|a zuGYCT=Qjr#Trqy|^wCo$h5&DNj!pGU@1%iRC4o2qr{MxX*|f~Ol;oVm;$kB`FqP|n z+Uu}`i0$Mpm8Q4aw|xx_EDVf|D9J7i7HC=2-6b79xnxc7B~728h4Y`DdUS~Y!{Q^> zj%&KapV^(a{C@8D@z>G~!EbhLkZ59G*;aVy@|QENjSG#Q`R|!rVEXEgOR``(Pn@~m zl1VpNoA27~O4j(Y%=zI#E&+v-z+XqD&Rq8Kaaxlwb>S4BpBwa*&wib=@ZP)s2U4R} zUEFz5`}<O%>zh4QzUcM~9ehyoxs@^Jic`pg2_afL`sAyhg;*sXTAGxx<^BK3JO?iD zY)q>-m|%5z<BlnA+xPr=+xgJ2CESa1?&_{9NBRDyc3MtJI}vb3`J3mpwv9|SA`b)J z29-KooDuw4?8AJ`#lBCNBc7~o*|IYD=dtY?Qf?oAuwGTYb8@!X=d%x|{ETq_+r4S} z;*5_>z5BVPRPHayX)fZPedClm&+RW!AM6=H;eRM`>M<uq28NG7j63|rP{Lm&GcPZ- z2pS6kzTSr&1Zr>h=LjucyY}nux(27O2^X`wr#C5xh-%%tT(UOWOxiQ(;QXcRto;8N z>Ze%j<_ay~v)*I={_L4^$DiM}Zb*JpAR@79dr-fUXxhz_^R7fKkx@-jf9QN8Y@ytC z{dQr&r#yM)K|!bgOj&rtYDc2R*GUsUJV@+2{6AUJCT(X2Gs_J1LL=4k#rda=GUJy9 zJ#V%VO}tYWn5c1|bE%Mg_ln{x60iPiFzYNlc;G$nQj@RQU+d4F?vyJ(6Et<-l}AZZ z{H|59d{Yw&c9mtzyRKo4XgvIYe^RDYr*Y=1sW%z>e7xHp+_|$bU1MTl&cwuJ3v1ub z+`#=y+DGKUBA#{w^)3E4TE6pa-}a&Dl`vylYE^CYr!{kChSur$p6V(3`9XBG@y^e_ zlQQr6-8`@?H|dCP&f(uoppaKLyTxM$4E59CkY{8PVL)Uo<Xi#DSf~J7HVg1ZH32zZ tLAeJ3Vu4Kbyo9bB*=?Y>M}WIP*CKQyr-T4+RyL42W*|HQq{Ep(JOI!Wm}LL} literal 0 HcmV?d00001 diff --git a/libjava/testsuite/libjava.jni/findclass2.java b/libjava/testsuite/libjava.jni/findclass2.java new file mode 100644 index 000000000000..f7c0996e19a8 --- /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 000000000000..ce013625030b --- /dev/null +++ b/libjava/testsuite/libjava.jni/findclass2.out @@ -0,0 +1 @@ +hello -- GitLab