aboutsummaryrefslogtreecommitdiff
path: root/libjava/testsuite
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@waitaki.otago.ac.nz>2002-04-09 05:25:11 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2002-04-09 06:25:11 +0100
commit973348ec02f0fdcca718a96f0440b0f845a03a2f (patch)
tree5e86b464c2b10e67e1d4b107600e905bfe66c87d /libjava/testsuite
parente285b259521d85061e9b4eed074c5fb8ba412280 (diff)
downloadgcc-973348ec02f0fdcca718a96f0440b0f845a03a2f.zip
gcc-973348ec02f0fdcca718a96f0440b0f845a03a2f.tar.gz
gcc-973348ec02f0fdcca718a96f0440b0f845a03a2f.tar.bz2
re PR java/6204 (gcj generates invalid byte code)
* libjava.lang/PR6204.java, libjava.lang/PR6204.out: New test case. * libjava.lang/PR6085.java, libjava.lang/PR6085.out: Likewise. From-SVN: r52056
Diffstat (limited to 'libjava/testsuite')
-rw-r--r--libjava/testsuite/ChangeLog5
-rw-r--r--libjava/testsuite/libjava.lang/PR6085.java35
-rw-r--r--libjava/testsuite/libjava.lang/PR6085.out2
-rw-r--r--libjava/testsuite/libjava.lang/PR6204.java38
-rw-r--r--libjava/testsuite/libjava.lang/PR6204.out1
5 files changed, 81 insertions, 0 deletions
diff --git a/libjava/testsuite/ChangeLog b/libjava/testsuite/ChangeLog
index 0cd768f..591abb3 100644
--- a/libjava/testsuite/ChangeLog
+++ b/libjava/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2002-04-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
+
+ * libjava.lang/PR6204.java, libjava.lang/PR6204.out: New test case.
+ * libjava.lang/PR6085.java, libjava.lang/PR6085.out: Likewise.
+
2002-04-07 Mark Wielaard <mark@klomp.org>
* libjava.mauve/xfails: Add CASE_INSENSITIVE_ORDER, result was
diff --git a/libjava/testsuite/libjava.lang/PR6085.java b/libjava/testsuite/libjava.lang/PR6085.java
new file mode 100644
index 0000000..f883bb5
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/PR6085.java
@@ -0,0 +1,35 @@
+public class PR6085
+{
+ public static void main(String[] args)
+ {
+ F1 f1 = new F1();
+ }
+
+ static class F1
+ {
+ F11 f11;
+ F12 f12;
+
+ F1()
+ {
+ f12 = new F12();
+ System.out.println (f12.i);
+ System.out.println (f12.k);
+ }
+
+ class F11
+ {
+ int k = 90;
+ F11() {}
+ }
+
+ class F12 extends F11
+ {
+ int i;
+ F12()
+ {
+ i = 17;
+ }
+ }
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/PR6085.out b/libjava/testsuite/libjava.lang/PR6085.out
new file mode 100644
index 0000000..812f0e71
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/PR6085.out
@@ -0,0 +1,2 @@
+17
+90
diff --git a/libjava/testsuite/libjava.lang/PR6204.java b/libjava/testsuite/libjava.lang/PR6204.java
new file mode 100644
index 0000000..06eb43d
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/PR6204.java
@@ -0,0 +1,38 @@
+class X
+{
+ public Y getY()
+ {
+ return new Y(1);
+ }
+}
+
+class Y extends X
+{
+ int i;
+
+ Y(int i)
+ {
+ this.i = i;
+ }
+
+ public Y getY()
+ {
+ return new Y(2);
+ }
+}
+
+class A
+{
+ X x = new Y(-1);
+ public X getX() { return x; }
+}
+
+public class PR6204 extends A
+{
+ public Y getY() { return super.getX().getY(); }
+
+ public static void main(String[] args)
+ {
+ System.out.println (new PR6204().getY().i);
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/PR6204.out b/libjava/testsuite/libjava.lang/PR6204.out
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/PR6204.out
@@ -0,0 +1 @@
+2