re PR java/21115 (false boolean argument passed from pre-compiled to interpreted method is true)

2005-04-21  Anthony Green  <green@redhat.com>

        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.

From-SVN: r98511
This commit is contained in:
Anthony Green 2005-04-21 16:22:33 +00:00 committed by Anthony Green
parent 55f9636756
commit ad903c6db7
5 changed files with 92 additions and 0 deletions

View File

@ -1,3 +1,11 @@
2005-04-21 Anthony Green <green@redhat.com>
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 <dog@gnu.org>
* gnu/java/net/CRLFInputStream.java: Rewrite to return

View File

@ -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);
}

View File

@ -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;
}
}

View File

@ -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