aboutsummaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.cni
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/testsuite/libjava.cni')
-rw-r--r--libjava/testsuite/libjava.cni/PR9577.java14
-rw-r--r--libjava/testsuite/libjava.cni/PR9577.out1
-rw-r--r--libjava/testsuite/libjava.cni/natPR9577.cc9
3 files changed, 24 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.cni/PR9577.java b/libjava/testsuite/libjava.cni/PR9577.java
new file mode 100644
index 0000000..2697392
--- /dev/null
+++ b/libjava/testsuite/libjava.cni/PR9577.java
@@ -0,0 +1,14 @@
+// Check if a method name is mangled properly in the presence
+// of an array parameter sharing a part of the type name
+// with a subsequent parameter.
+
+public class PR9577
+{
+ private native void sayHello (String[] s, Object o);
+
+ public static void main (String[] args)
+ {
+ PR9577 x = new PR9577( );
+ x.sayHello( null, null);
+ }
+}
diff --git a/libjava/testsuite/libjava.cni/PR9577.out b/libjava/testsuite/libjava.cni/PR9577.out
new file mode 100644
index 0000000..10ddd6d
--- /dev/null
+++ b/libjava/testsuite/libjava.cni/PR9577.out
@@ -0,0 +1 @@
+Hello!
diff --git a/libjava/testsuite/libjava.cni/natPR9577.cc b/libjava/testsuite/libjava.cni/natPR9577.cc
new file mode 100644
index 0000000..90fafee
--- /dev/null
+++ b/libjava/testsuite/libjava.cni/natPR9577.cc
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+#include "PR9577.h"
+
+void
+PR9577::sayHello (JArray< ::java::lang::String *> *x, ::java::lang::Object *y)
+ {
+ printf( "Hello!\n");
+ }