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:
parent
55f9636756
commit
ad903c6db7
@ -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
|
||||
|
34
libjava/testsuite/libjava.special/pr21115.java
Normal file
34
libjava/testsuite/libjava.special/pr21115.java
Normal 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);
|
||||
}
|
0
libjava/testsuite/libjava.special/pr21115.out
Normal file
0
libjava/testsuite/libjava.special/pr21115.out
Normal file
20
libjava/testsuite/libjava.special/pr21115I.java
Normal file
20
libjava/testsuite/libjava.special/pr21115I.java
Normal 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;
|
||||
}
|
||||
}
|
30
libjava/testsuite/libjava.special/special.exp
Normal file
30
libjava/testsuite/libjava.special/special.exp
Normal 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
|
Loading…
Reference in New Issue
Block a user