summaryrefslogtreecommitdiffstats
path: root/libjava/testsuite
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-09-06 16:01:31 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-09-06 16:01:31 +0000
commita9437f8a1a2aa5a9244256954b449b5d5775e06a (patch)
tree3a53772caa4302c9e6c17a8f4d8ff1296f451bb1 /libjava/testsuite
parent39506e4e1bc64f7b05ab236283bb804338721720 (diff)
downloadppe42-gcc-a9437f8a1a2aa5a9244256954b449b5d5775e06a.tar.gz
ppe42-gcc-a9437f8a1a2aa5a9244256954b449b5d5775e06a.zip
PR libgcj/23739:
* testsuite/libjava.jni/pr23739.c: New file. * testsuite/libjava.jni/pr23739.java: New file. * testsuite/libjava.jni/pr23739.out: New file. * jni.cc (_Jv_JNI_IsAssignableFrom): Reversed arguments. * java/lang/reflect/natMethod.cc (invoke): Updated. * java/lang/natClass.cc (isAssignableFrom): Updated. (isInstance): Likewise. (_Jv_IsAssignableFrom): Reversed arguments. (_Jv_IsInstanceOf): Updated. (_Jv_CheckCast): Likewise. (_Jv_CheckArrayStore): Likewise. (_Jv_IsAssignableFromSlow): Reversed arguments. (_Jv_InterfaceAssignableFrom): Likewise. * link.cc (verify_type_assertions): Updated. * prims.cc (_Jv_CheckAccess): Updated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103953 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/testsuite')
-rw-r--r--libjava/testsuite/Makefile.in2
-rw-r--r--libjava/testsuite/libjava.jni/pr23739.c12
-rw-r--r--libjava/testsuite/libjava.jni/pr23739.java22
-rw-r--r--libjava/testsuite/libjava.jni/pr23739.out3
4 files changed, 38 insertions, 1 deletions
diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in
index 074fda1a1dd..4a8ea65ca0a 100644
--- a/libjava/testsuite/Makefile.in
+++ b/libjava/testsuite/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.9.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/libjava/testsuite/libjava.jni/pr23739.c b/libjava/testsuite/libjava.jni/pr23739.c
new file mode 100644
index 00000000000..0f6bfbefe16
--- /dev/null
+++ b/libjava/testsuite/libjava.jni/pr23739.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+#include "pr23739.h"
+
+JNIEXPORT void JNICALL
+Java_pr23739_checkOrder (JNIEnv *env, jclass cls, jclass clazz1, jclass clazz2)
+{
+ printf ("B extends A\n");
+ printf ("isAssignableFrom (A, B): %d\n",
+ (*env)->IsAssignableFrom (env, clazz1, clazz2));
+ printf ("isAssignableFrom (B, A): %d\n",
+ (*env)->IsAssignableFrom (env, clazz2, clazz1));
+}
diff --git a/libjava/testsuite/libjava.jni/pr23739.java b/libjava/testsuite/libjava.jni/pr23739.java
new file mode 100644
index 00000000000..b2e54c5488b
--- /dev/null
+++ b/libjava/testsuite/libjava.jni/pr23739.java
@@ -0,0 +1,22 @@
+public class pr23739
+{
+ static
+ {
+ System.loadLibrary ("pr23739");
+ }
+
+ public static class A
+ {
+ }
+
+ public static class B extends A
+ {
+ }
+
+ static native void checkOrder (Class clazz1, Class clazz2);
+
+ public static void main (String[] args)
+ {
+ checkOrder (A.class, B.class);
+ }
+}
diff --git a/libjava/testsuite/libjava.jni/pr23739.out b/libjava/testsuite/libjava.jni/pr23739.out
new file mode 100644
index 00000000000..3e94564c244
--- /dev/null
+++ b/libjava/testsuite/libjava.jni/pr23739.out
@@ -0,0 +1,3 @@
+B extends A
+isAssignableFrom (A, B): 0
+isAssignableFrom (B, A): 1
OpenPOWER on IntegriCloud