aboutsummaryrefslogtreecommitdiff
path: root/libjava/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/testsuite')
-rw-r--r--libjava/testsuite/Makefile.in2
-rw-r--r--libjava/testsuite/libjava.jacks/jacks.xfail3
-rw-r--r--libjava/testsuite/libjava.jni/jni.exp2
-rw-r--r--libjava/testsuite/libjava.lang/PR19870.java44
-rw-r--r--libjava/testsuite/libjava.lang/PR19870.out8
-rw-r--r--libjava/testsuite/libjava.lang/pr17536.java5
-rw-r--r--libjava/testsuite/libjava.lang/pr17536.out1
-rw-r--r--libjava/testsuite/libjava.lang/pr21785.java21
-rw-r--r--libjava/testsuite/libjava.lang/pr21785.out0
-rw-r--r--libjava/testsuite/libjava.lang/pr21844.java33
-rw-r--r--libjava/testsuite/libjava.lang/pr21844.out1
11 files changed, 118 insertions, 2 deletions
diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in
index cc2e4968019..69e401cc961 100644
--- a/libjava/testsuite/Makefile.in
+++ b/libjava/testsuite/Makefile.in
@@ -40,9 +40,11 @@ subdir = testsuite
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
+ $(top_srcdir)/../config/depstand.m4 \
$(top_srcdir)/../config/gxx-include-dir.m4 \
$(top_srcdir)/../config/iconv.m4 \
$(top_srcdir)/../config/lcmessage.m4 \
+ $(top_srcdir)/../config/lead-dot.m4 \
$(top_srcdir)/../config/lib-ld.m4 \
$(top_srcdir)/../config/lib-link.m4 \
$(top_srcdir)/../config/lib-prefix.m4 $(top_srcdir)/pkg.m4 \
diff --git a/libjava/testsuite/libjava.jacks/jacks.xfail b/libjava/testsuite/libjava.jacks/jacks.xfail
index 4cc878464fd..4524e957a33 100644
--- a/libjava/testsuite/libjava.jacks/jacks.xfail
+++ b/libjava/testsuite/libjava.jacks/jacks.xfail
@@ -306,6 +306,7 @@
15.8.2-type-12
15.8.2-type-13
15.8.2-type-14
+15.8.4-static-2
15.8.5-field-expression-6
15.8.5-method-expression-8
15.8.5-variable-5
@@ -432,7 +433,6 @@
3.10.2-round-10
3.10.2-round-11
3.10.2-round-12
-3.10.2-round-6
3.10.2-round-7
3.10.2-round-9
3.2-valid-1
@@ -634,6 +634,7 @@
8.5-inheritance-2
8.5-inheritance-3
8.5-inheritance-6
+8.5.2-accessible-static-member-usage-3
8.5.2-non-static-member-usage-2
8.5.2-non-static-member-usage-4
8.5.2-non-static-member-usage-5
diff --git a/libjava/testsuite/libjava.jni/jni.exp b/libjava/testsuite/libjava.jni/jni.exp
index 201daaca713..84614260b0b 100644
--- a/libjava/testsuite/libjava.jni/jni.exp
+++ b/libjava/testsuite/libjava.jni/jni.exp
@@ -196,7 +196,7 @@ proc gcj_jni_invocation_compile_c_to_binary {file {options {}}} {
# Set some darwin specific options
if { [istarget "*-*-darwin*"] } {
- lappend options "additional_flags=-multiply_defined suppress"
+ lappend options "additional_flags= -bind_at_load -multiply_defined suppress"
}
# Find the generated header.
lappend options "additional_flags=-I. -I.."
diff --git a/libjava/testsuite/libjava.lang/PR19870.java b/libjava/testsuite/libjava.lang/PR19870.java
new file mode 100644
index 00000000000..f9e6bc31895
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/PR19870.java
@@ -0,0 +1,44 @@
+// PR19870: Test static field access across nested class boundaries.
+//
+public class PR19870
+{
+ private static int x = 123;
+
+ static class Foo
+ {
+ private static int junk = 1000;
+
+ static void snafu( )
+ {
+ System.out.println( x);
+ x = 456;
+ System.out.println( PR19870.x);
+ PR19870.x = 789;
+ System.out.println( PR19870.x);
+
+ System.out.println( Bar.junk);
+ }
+ }
+
+ static class Bar
+ {
+ private static int junk = 1984;
+
+ static void snafu( )
+ {
+ System.out.println( Foo.junk);
+ Foo.junk = 2000;
+ System.out.println( Foo.junk);
+ }
+ }
+
+ public static void main( String[] args)
+ {
+ Foo.snafu( );
+ Bar.snafu( );
+
+ System.out.println( Foo.junk);
+ Foo.junk = 3000;
+ System.out.println( Foo.junk);
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/PR19870.out b/libjava/testsuite/libjava.lang/PR19870.out
new file mode 100644
index 00000000000..ab58915f55f
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/PR19870.out
@@ -0,0 +1,8 @@
+123
+456
+789
+1984
+1000
+2000
+2000
+3000
diff --git a/libjava/testsuite/libjava.lang/pr17536.java b/libjava/testsuite/libjava.lang/pr17536.java
new file mode 100644
index 00000000000..7d94fd9b109
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/pr17536.java
@@ -0,0 +1,5 @@
+public class pr17536 {
+ public static void main(String[] args) {
+ System.out.println(int[].class.getClassLoader());
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/pr17536.out b/libjava/testsuite/libjava.lang/pr17536.out
new file mode 100644
index 00000000000..19765bd501b
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/pr17536.out
@@ -0,0 +1 @@
+null
diff --git a/libjava/testsuite/libjava.lang/pr21785.java b/libjava/testsuite/libjava.lang/pr21785.java
new file mode 100644
index 00000000000..7869754977a
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/pr21785.java
@@ -0,0 +1,21 @@
+import java.io.*;
+
+public class pr21785 implements Serializable
+{
+ public static void main(String[] args)
+ {
+ try {
+ ByteArrayOutputStream outb = new ByteArrayOutputStream();
+ ObjectOutputStream outs = new ObjectOutputStream(outb);
+ outs.writeObject(new pr21785());
+ byte[] store = outb.toByteArray();
+
+ ByteArrayInputStream inb = new ByteArrayInputStream(store);
+ ObjectInputStream ins = new ObjectInputStream(inb);
+ ins.readObject();
+ }
+ catch (Throwable e) {
+ throw new Error(e);
+ }
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/pr21785.out b/libjava/testsuite/libjava.lang/pr21785.out
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/pr21785.out
diff --git a/libjava/testsuite/libjava.lang/pr21844.java b/libjava/testsuite/libjava.lang/pr21844.java
new file mode 100644
index 00000000000..24ed01fce9f
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/pr21844.java
@@ -0,0 +1,33 @@
+class pr21844base
+{
+ int modCount;
+
+ public pr21844base(int x)
+ {
+ modCount = x;
+ }
+}
+
+public class pr21844 extends pr21844base
+{
+ class inner
+ {
+ public int doit ()
+ {
+ ++modCount;
+ return modCount;
+ }
+ }
+
+ public pr21844(int x)
+ {
+ super(x);
+ }
+
+ public static void main(String[] args)
+ {
+ pr21844 val = new pr21844(7);
+ inner i = val.new inner();
+ System.out.println(i.doit());
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/pr21844.out b/libjava/testsuite/libjava.lang/pr21844.out
new file mode 100644
index 00000000000..45a4fb75db8
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/pr21844.out
@@ -0,0 +1 @@
+8