From: green Date: Thu, 21 Apr 2005 16:22:33 +0000 (+0000) Subject: 2005-04-21 Anthony Green X-Git-Tag: upstream/4.9.2~61872 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=173d060e0493dcbe6f781cfd0475fb6c26fcba3a;p=platform%2Fupstream%2Flinaro-gcc.git 2005-04-21 Anthony Green PR libgcj/21115 * testsuite/libjava.special/special.exp, testsuite/libjava.special/pr21115I.java, testsuite/libjava.special/pr21115.java, testsuite/libjava.special/pr21115.out: New files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98511 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index d031f2b..d861153 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,11 @@ +2005-04-21 Anthony Green + + PR libgcj/21115 + * testsuite/libjava.special/special.exp, + testsuite/libjava.special/pr21115I.java, + testsuite/libjava.special/pr21115.java, + testsuite/libjava.special/pr21115.out: New files. + 2005-04-21 Chris Burdess * gnu/java/net/CRLFInputStream.java: Rewrite to return diff --git a/libjava/testsuite/libjava.special/pr21115.java b/libjava/testsuite/libjava.special/pr21115.java new file mode 100644 index 0000000..2e23f27 --- /dev/null +++ b/libjava/testsuite/libjava.special/pr21115.java @@ -0,0 +1,34 @@ +public abstract class pr21115 +{ + public static void main(String[] args) throws Exception + { + Class c = Class.forName("pr21115I"); + Object o = c.newInstance(); + pr21115 t = (pr21115) o; + // Try to fill the stack with 0xff. + t.test (0xffffffff, 0xffffffff, + 0xffffffff, 0xffffffff, + 0xffffffff, 0xffffffff, + 0xffffffff, 0xffffffff, + 0xffffffff, 0xffffffff); + // Pass a bunch of false (0) values. + if (t.test (false, false, + false, false, + false, false, + false, false, + false, false)) + System.out.println ("FAILED - expecting false return value."); + } + + public abstract boolean test(boolean a, boolean b, + boolean c, boolean d, + boolean e, boolean f, + boolean g, boolean h, + boolean i, boolean j); + + public abstract boolean test(int a, int b, + int c, int d, + int e, int f, + int g, int h, + int i, int j); +} diff --git a/libjava/testsuite/libjava.special/pr21115.out b/libjava/testsuite/libjava.special/pr21115.out new file mode 100644 index 0000000..e69de29 diff --git a/libjava/testsuite/libjava.special/pr21115I.java b/libjava/testsuite/libjava.special/pr21115I.java new file mode 100644 index 0000000..17701ac --- /dev/null +++ b/libjava/testsuite/libjava.special/pr21115I.java @@ -0,0 +1,20 @@ +public class pr21115I extends pr21115 +{ + public boolean test(boolean a, boolean b, + boolean c, boolean d, + boolean e, boolean f, + boolean g, boolean h, + boolean i, boolean j) + { + return a && b && c && d && e && f && g && h && i; + } + + public boolean test(int a, int b, + int c, int d, + int e, int f, + int g, int h, + int i, int j) + { + return true; + } +} diff --git a/libjava/testsuite/libjava.special/special.exp b/libjava/testsuite/libjava.special/special.exp new file mode 100644 index 0000000..76afd9a --- /dev/null +++ b/libjava/testsuite/libjava.special/special.exp @@ -0,0 +1,30 @@ +# Special test cases. These require tricky build procedures. + +proc gcj_special_run {} { + global srcdir subdir env + + # ---- PR 21115 ------------------------------------------------------- + + if {! [bytecompile_file ${srcdir}/${subdir}/pr21115I.java [pwd]]} { + fail "bytecompile ${srcdir}/${subdir}/libjava.special/pr21115I.java" + # FIXME - should use `untested' on all remaining tests. + # But that is hard. + return 0 + } + pass "bytecompile pr21115I.java" + + if {! [gcj_link pr21115 pr21115 [list ${srcdir}/${subdir}/pr21115.java]]} { + fail "compiling/linking pr21115.java" + # FIXME + return 0 + } + + if {! [gcj_invoke pr21115 ${srcdir}/${subdir}/pr21115.out ""]} { + # FIXME + return 0 + } + + return 1 +} + +gcj_special_run