This is the mail archive of the
gcc-testresults@gcc.gnu.org
mailing list for the GCC project.
jacks results for gcjx
- From: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- To: gcc-testresults at gcc dot gnu dot org
- Date: 22 Dec 2005 19:35:10 +0100
- Subject: jacks results for gcjx
gcjx built with GCC-3.3.5 on an i686-pc-linux-gnu.
-- Gaby
Testing gcjx
Working directory is /home/gdr/redhat/mauve/jacks
compile = gcjx -source 1.4 -target 1.4 -bootclasspath /home/gdr/build/classpath/lib/ ...
tests/gcj
tests/jikes
tests/jikes/jls/blocks-and-statements/labeled-statements
tests/jikes/jls/blocks-and-statements/try-statement
tests/jikes/jls/blocks-and-statements/unreachable-statements
tests/jikes/jls/classes/constructor-declarations/constructor-body/explicit-constructor-invocations
tests/jikes/jls/classes/field-declarations/initialization-of-fields
tests/jikes/jls/classes/method-declarations/method-body
tests/jikes/jls/interfaces/interface-members
tests/jikes/jls/lexical-structure/literals/character-literals
tests/jikes/jls/lexical-structure/unicode
tests/jikes/jls/packages/import-declarations/type-import-on-demand-declaration
tests/jikes/non-jls/effective-java
tests/jls/arrays/array-initializers
tests/jls/binary-compatibility/form-of-binary
==== 13.1-covariance-1 Class files may have more than one method
with the same parameter types but different return types. In
particular, legal .class files compiled with gj (generic java) or the
JSR14 beta compiler (the prequel to the expected JDK 1.5) allow
covariance in return types, and do so by compiling synthetic bridge
methods. Here, we check that the compiler is able to gracefully handle
covariance when loading a .class file, even though this is normally
a binary incompatible change. FAILED
==== Contents of test case:
compile [saveas T131co1a.java {
class T131co1a {
T131co1b m() { return null; }
}
class T131co1b extends T131co1a {
T131co1b m() { return null; }
}
class T131co1c extends T131co1b {
{ m(); }
}
}]
delete T131co1a.java
compile -classpath . [saveas T131co1a.java {
class T131co1a {
T131co1a m() { return null; } // change return type to a instead of b
}
// class T131co1b extends T131co1a {
// T131co1b m() { return null; } // now covariant!
// if this class were uncommented and compiled by gj, it would also have
// /*synthetic*/ T131co1a m() { return /*T131co1b*/m(); }
// }
class T131co1c extends T131co1b {
{ m(); }
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 13.1-covariance-1 FAILED
==== 13.1-covariance-2 Class files may have more than one method
with the same parameter types but different return types. In
particular, legal .class files compiled with gj (generic java) or the
JSR14 beta compiler (the prequel to the expected JDK 1.5) allow
covariance in return types, and do so by compiling synthetic bridge
methods. Here, we check that the compiler is able to gracefully handle
covariance when loading a .class file, even though this is normally
a binary incompatible change. FAILED
==== Contents of test case:
compile [saveas T131co2a.java {
class T131co2a {
T131co2b[] m() { return null; }
}
class T131co2b extends T131co2a {
T131co2b[] m() { return null; }
}
class T131co2c extends T131co2b {
{ m(); }
}
}]
delete T131co2a.java
compile -classpath . [saveas T131co2a.java {
class T131co2a {
T131co2a[] m() { return null; } // change return type to a[] instead of b[]
}
// class T131co2b extends T131co2a {
// T131co2b[] m() { return null; } // now covariant!
// if this class were uncommented and compiled by gj, it would also have
// /*synthetic*/ T131co2a[] m() { return /*T131co2b*/m(); }
// }
class T131co2c extends T131co2b {
{ m(); }
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 13.1-covariance-2 FAILED
==== 13.1-covariance-3 Class files may have more than one method
with the same parameter types but different return types. In
particular, legal .class files compiled with gj (generic java) or the
JSR14 beta compiler (the prequel to the expected JDK 1.5) allow
covariance in return types, and do so by compiling synthetic bridge
methods. Here, we check that the compiler is able to gracefully handle
covariance when loading a .class file, even though this is normally
a binary incompatible change. FAILED
==== Contents of test case:
compile [saveas T131co3a.java {
interface T131co3a {
T131co3b m();
}
interface T131co3b extends T131co3a {
T131co3b m();
}
abstract class T131co3c implements T131co3b {
{ m(); }
}
}]
delete T131co3a.java
compile -classpath . [saveas T131co3a.java {
interface T131co3a {
T131co3a m(); // change return type to a instead of b
}
// interface T131co3b extends T131co3a {
// T131co3b m(); // now covariant!
// }
abstract class T131co3c implements T131co3b {
// if b were uncommented and compiled by gj, this class would also have
// /*synthetic*/ T131co3a m() { return /*T131co3b*/m(); }
// Note that calling a.m() may fail when this class is not compiled by
// gj, as the bridge method is missing; but that is a different problem.
{ m(); }
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 13.1-covariance-3 FAILED
tests/jls/blocks-and-statements/break-statement
==== 14.14-plain-1 plain break must occur in a loop
statement or switch FAILED
==== Contents of test case:
empty_main T1414p1 {
break;
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 14.14-plain-1 FAILED
==== 14.14-plain-9 plain break must occur in a loop
statement or switch FAILED
==== Contents of test case:
empty_main T1414p9 {
a: break;
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 14.14-plain-9 FAILED
==== 14.14-nonlocal-1 there are no non-local jumps FAILED
==== Contents of test case:
empty_main T1414nonlocal1 {
do {
new Object() {
{
break;
}
};
} while (false);
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 14.14-nonlocal-1 FAILED
==== 14.14-label-3 labeled break must
occur in that label FAILED
==== Contents of test case:
empty_main T1414l3 {
b: break a;
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 14.14-label-3 FAILED
==== 14.14-label-12 there are no
non-local jumps FAILED
==== Contents of test case:
empty_main T1414l12 {
a: do {
new Object() {
{
break a;
}
};
} while (false);
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 14.14-label-12 FAILED
tests/jls/blocks-and-statements/continue-statement
==== 14.15-nonlocal-1 there are no non-local jumps FAILED
==== Contents of test case:
empty_main T1415nonlocal1 {
do {
new Object() {
{
continue;
}
};
} while (false);
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 14.15-nonlocal-1 FAILED
==== 14.15-nonlocal-2 there are no non-local jumps FAILED
==== Contents of test case:
empty_main T1415nonlocal2 {
a: do {
new Object() {
{
continue a;
}
};
} while (false);
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 14.15-nonlocal-2 FAILED
tests/jls/blocks-and-statements/if-statement
tests/jls/blocks-and-statements/labeled-statements
tests/jls/blocks-and-statements/local-class-declarations
==== 14.3-scope-10 While not well-specified, the scope of a local
class in a switch statement is the immediately enclosing switch
block statement (and not the entire switch) FAILED
==== Contents of test case:
empty_class T143s10 {
void m(int i) {
switch (i) {
case 0:
class Local {}
break;
case 1:
new Local();
}
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 14.3-scope-10 FAILED
==== 14.3-scope-11 While not well-specified, the scope of a local
class in a switch statement is the immediately enclosing switch
block statement (and not the entire switch) FAILED
==== Contents of test case:
empty_class T143s11 {
void m(int i) {
switch (i) {
case 0:
class Local {}
break;
case 1:
class Local {}
}
}
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 14.3-scope-11 FAILED
tests/jls/blocks-and-statements/local-variable-declaration-statements/scope
==== 14.4.2-valid-scope-9 The scope of a local variable declarator
includes its own initializer and further declarations to right FAILED
==== Contents of test case:
empty_main T1442vs9 {
final String s = (String) s;
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 14.4.2-valid-scope-9 FAILED
tests/jls/blocks-and-statements/switch-statement
tests/jls/blocks-and-statements/synchronized-statement
tests/jls/blocks-and-statements/throw-statement
tests/jls/blocks-and-statements/try-statement
tests/jls/blocks-and-statements/unreachable-statements
tests/jls/classes/class-declaration
tests/jls/classes/class-declaration/class-modifiers
tests/jls/classes/class-declaration/class-modifiers/abstract-classes
tests/jls/classes/class-declaration/class-modifiers/final-classes
tests/jls/classes/class-declaration/inner-classes-and-enclosing-instances
tests/jls/classes/class-declaration/superclasses-and-subclasses
tests/jls/classes/class-declaration/superinterfaces
tests/jls/classes/class-members
tests/jls/classes/constructor-declarations
tests/jls/classes/constructor-declarations/constructor-body
tests/jls/classes/constructor-declarations/constructor-body/explicit-constructor-invocations
==== 8.8.5.1-qualified-5 Qualified explicit invocation allows one
to specify the enclosing instance of the superclass FAILED
==== Contents of test case:
compile [saveas T8851q5.java {
class T8851q5 {
class Inner {}
}
class Sub5 extends T8851q5.Inner {
T8851q5 t;
Sub5() {
// using a member declared in this class is illegal
t.super();
}
}
}]
---- Result was:
PASS
---- Result should have been:
FAIL
==== 8.8.5.1-qualified-5 FAILED
==== 8.8.5.1-qualified-6 Qualified explicit invocation allows one
to specify the enclosing instance of the superclass FAILED
==== Contents of test case:
compile [saveas T8851q6.java {
class T8851q6 {
class Inner {
T8851q6 t;
}
}
class Sub6 extends T8851q6.Inner {
Sub6() {
// using an inherited member is not legal
t.super();
}
}
}]
---- Result was:
PASS
---- Result should have been:
FAIL
==== 8.8.5.1-qualified-6 FAILED
==== 8.8.5.1-qualified-14 Explicit constructors may reference
qualified this or super which names an enclosing class FAILED
==== Contents of test case:
empty_class T8851q14 {
T8851q14(Object o) {}
class Middle extends T8851q14 {
Middle(int i) {
super(null);
}
Middle() {
// Here, new Middle is a member of Middle
super(T8851q14.this.new Middle(1).new Inner() {});
}
class Inner {}
}
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 8.8.5.1-qualified-14 FAILED
==== 8.8.5.1-qualified-16 Explicit constructors may reference
qualified this or super which names an enclosing class FAILED
==== Contents of test case:
empty_class T8851q16 {
T8851q16(Object o) {}
private class Middle extends T8851q16 {
Middle(int i) {
super(null);
}
Middle() {
// Here, new Middle is a member of T8851q16, since it was
// private and not inherited as a member of Middle
super(T8851q16.this.new Middle(1).new Inner() {});
}
class Inner {}
}
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 8.8.5.1-qualified-16 FAILED
==== 8.8.5.1-qualified-17 Explicit constructors may reference
qualified this or super which names an enclosing class FAILED
==== Contents of test case:
compile [saveas T8851q17.java {
class T8851q17 {
T8851q17(Object o) {}
}
class T8851q17a {
class Middle extends T8851q17 {
Middle(int i) {
super(null);
}
Middle() {
// Here, the innermost instance of T8851q17a to enclose
// new Middle is T8851q17a.this
super(new Middle(1).new Inner() {});
}
class Inner {}
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 8.8.5.1-qualified-17 FAILED
==== 8.8.5.1-qualified-18 Explicit constructors may reference
qualified this or super which names an enclosing class FAILED
==== Contents of test case:
compile [saveas T8851q18.java {
class T8851q18 {
T8851q18(Object o) {}
}
class T8851q18a {
class Middle extends T8851q18 {
Middle(int i) {
super(null);
}
Middle() {
// Here, the innermost instance of T8851q18a to enclose
// new Middle is T8851q18a.this
super(T8851q18a.this.new Middle(1).new Inner() {});
}
class Inner {}
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 8.8.5.1-qualified-18 FAILED
tests/jls/classes/constructor-declarations/constructor-modifiers
tests/jls/classes/constructor-declarations/constructor-overloading
tests/jls/classes/constructor-declarations/constructor-signature
tests/jls/classes/constructor-declarations/default-constructor
==== 8.8.7-accessible-default-constructor-inner-16
A constructor with private accessibility can be accessed
from a static anonymous class defined inside the same class FAILED
==== Contents of test case:
empty_class T887adci16 {
class A {
private A() {}
}
static Object o = new T887adci16().new A() {};
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 8.8.7-accessible-default-constructor-inner-16 FAILED
==== 8.8.7-accessible-default-constructor-inner-29
A constructor with private accessibility can be accessed
from an inner class of an anonymous class FAILED
==== Contents of test case:
empty_class T887adci29 {
Object o = new Object() {
class Inner {
private Inner() {}
}
}.new Inner(){};
}
---- Result was:
COREDUMP
---- Result should have been:
PASS
==== 8.8.7-accessible-default-constructor-inner-29 FAILED
tests/jls/classes/constructor-declarations/formal-parameters
tests/jls/classes/field-declarations
==== 8.3-inheritance-3 A class inherits non-private accessible
fields that it does not hide by redeclaration FAILED
==== Contents of test case:
empty_class T83i3 {
int i;
static class One extends T83i3 {
private int i; // T83i3.i not inherited...
}
static class Two extends One {
int j = i; // ...so neither i is inherited; T83i3.i not available
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 8.3-inheritance-3 FAILED
==== 8.3-inheritance-5 A class inherits non-private accessible
fields that it does not hide by redeclaration FAILED
==== Contents of test case:
compile [saveas p1/T83i5a.java {
package p1;
public class T83i5a {
public int i;
static class Inner extends p2.T83i5b {
int j = i; // package i not inherited from b, enclosing i not available
}
}
}] [saveas p2/T83i5b.java {
package p2;
public class T83i5b extends p1.T83i5a {
int i; // hides T83i5a.i
}
}]
---- Result was:
PASS
---- Result should have been:
FAIL
==== 8.3-inheritance-5 FAILED
tests/jls/classes/field-declarations/field-modifiers
tests/jls/classes/field-declarations/field-modifiers/final-fields
tests/jls/classes/field-declarations/field-modifiers/static-fields
tests/jls/classes/field-declarations/initialization-of-fields
==== 8.3.2-abrupt-8 A class variable initializer may not complete
abruptly with a checked exception FAILED
==== Contents of test case:
compile [saveas T832a8a.java {
class T832a8a {
int j = T832a8b.i;
}
}] [saveas T832a8b.java {
class T832a8b {
static int i() throws Exception { return 1; }
static final int i = i();
}
}]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 8.3.2-abrupt-8 FAILED
tests/jls/classes/field-declarations/initialization-of-fields/initializers-for-class-variables
tests/jls/classes/field-declarations/initialization-of-fields/initializers-for-instance-variables
tests/jls/classes/field-declarations/initialization-of-fields/restrictions
==== 8.3.2.3-legal-forward-instance-11 Simple usage before
declaration legal if 1. not in initializer; 2. simple assignment;
or 3. not in declaring class FAILED
==== Contents of test case:
empty_class T8323lfi11 {
final int i = this.j; // not simple usage
final int j = 1;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 8.3.2.3-legal-forward-instance-11 FAILED
tests/jls/classes/instance-initializers
==== 8.6-return-3 Instance initializers may not return FAILED
==== Contents of test case:
empty_class T86r3 {
{ return 1; }
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 8.6-return-3 FAILED
==== 8.6-return-4 Instance initializers may not return FAILED
==== Contents of test case:
empty_class T86r4 {
{ if (false) return 1; }
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 8.6-return-4 FAILED
tests/jls/classes/member-type-declarations
tests/jls/classes/member-type-declarations/access-modifiers
tests/jls/classes/member-type-declarations/static-member-type-declarations
==== 8.5.2-non-static-member-usage-4 It is a
compile-time error if a static class contains a
usage of a non-static member of the enclosing class FAILED
==== Contents of test case:
empty_class T852nsmu4 {
class C {}
static class T852nsmu4_Test {
C c;
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 8.5.2-non-static-member-usage-4 FAILED
tests/jls/classes/method-declarations/inheritance-overriding-and-hiding
==== 8.4.6-inheritance-2 A class inherits non-private accessible
methods that it does not hide by redeclaration FAILED
==== Contents of test case:
empty_class T846i2 {
private int m() { return 1; }
class Inner extends T846i2 {
int j = this.m(); // m not inherited
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 8.4.6-inheritance-2 FAILED
==== 8.4.6-inheritance-3 A class inherits non-private accessible
methods that it does not hide by redeclaration. FAILED
==== Contents of test case:
compile [saveas p1/T846i3a.java {
package p1;
public class T846i3a {
int m() { return 1; }
static class Inner extends p2.T846i3b {
// package m not inherited from b, enclosing m unavailable
int j = m();
}
}
}] [saveas p2/T846i3b.java {
package p2;
public class T846i3b extends p1.T846i3a {
static int m() { return 1; } // does not override or hide T846i3a.m
}
}]
---- Result was:
PASS
---- Result should have been:
FAIL
==== 8.4.6-inheritance-3 FAILED
==== 8.4.6-inheritance-4 A class inherits non-private accessible
methods that it does not hide by redeclaration. FAILED
==== Contents of test case:
compile [saveas p1/T846i4a.java {
package p1;
public class T846i4a {
int m() { return 1; }
class Inner extends p2.T846i4b {
// package m not inherited from b
int j = this.m();
}
}
}] [saveas p2/T846i4b.java {
package p2;
public class T846i4b extends p1.T846i4a {
static int m() { return 1; } // does not override or hide T846i4a.m
}
}]
---- Result was:
PASS
---- Result should have been:
FAIL
==== 8.4.6-inheritance-4 FAILED
==== 8.4.6-inheritance-5 A class inherits non-private accessible
methods that it does not hide by redeclaration. FAILED
==== Contents of test case:
compile [saveas p1/T846i5a.java {
package p1;
public class T846i5a {
static int m() { return 1; }
class Inner extends p2.T846i5b {
// the superclass did not inherit m
int j = this.m();
}
}
}] [saveas p2/T846i5b.java {
package p2;
public class T846i5b extends p1.T846i5a {
int m() { return 1; } // does not override or hide T846i5a.m
}
}]
---- Result was:
PASS
---- Result should have been:
FAIL
==== 8.4.6-inheritance-5 FAILED
tests/jls/classes/method-declarations/inheritance-overriding-and-hiding/hiding
tests/jls/classes/method-declarations/inheritance-overriding-and-hiding/inheriting-same-signature
==== 8.4.6.4-multiple-3 It is possible to have access to multiple
methods, when one is not inherited across package boundaries. The
inherited method need not match the hidden one. FAILED
==== Contents of test case:
compile [saveas p1/T8464m3a.java {
package p1;
public class T8464m3a {
int m() { return 1; }
}
class T8464m3c extends p2.T8464m3b {
// inherited static b.m() does not clash with accessible instance a.m()
int i = m();
}
}] [saveas p2/T8464m3b.java {
package p2;
public class T8464m3b extends p1.T8464m3a {
protected static int m() { return 1; }
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 8.4.6.4-multiple-3 FAILED
==== 8.4.6.4-multiple-4 It is possible to have access to multiple
methods, when one is not inherited across package boundaries. The
inherited method need not match the hidden one. FAILED
==== Contents of test case:
compile [saveas p1/T8464m4a.java {
package p1;
public class T8464m4a {
void m() {}
}
class T8464m4c extends p2.T8464m4b {
// inherited return type of b.m() does not clash with accessible a.m()
int i = m();
}
}] [saveas p2/T8464m4b.java {
package p2;
public class T8464m4b extends p1.T8464m4a {
protected int m() { return 1; }
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 8.4.6.4-multiple-4 FAILED
==== 8.4.6.4-multiple-5 It is possible to have access to multiple
methods, when one is not inherited across package boundaries. The
inherited method need not match the hidden one. FAILED
==== Contents of test case:
compile [saveas p1/T8464m5a.java {
package p1;
public class T8464m5a {
public class E extends Exception {}
void m() {}
}
class T8464m5c extends p2.T8464m5b {
// inherited throws clause of b.m() does not clash with accessible a.m()
{
try {
m();
} catch (E e) {
}
}
}
}] [saveas p2/T8464m5b.java {
package p2;
public class T8464m5b extends p1.T8464m5a {
protected void m() throws E {}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 8.4.6.4-multiple-5 FAILED
==== 8.4.6.4-multiple-7 It is possible to have access to multiple
methods, when one is not inherited across package boundaries. The
inherited method need not match the hidden one. FAILED
==== Contents of test case:
compile [saveas p1/T8464m7a.java {
package p1;
public class T8464m7a {
final int m() { return 1; }
}
class T8464m7c extends p2.T8464m7b {
// inherited b.m() does not violate final accessible a.m()
int i = m();
}
}] [saveas p2/T8464m7b.java {
package p2;
public class T8464m7b extends p1.T8464m7a {
protected int m() { return 1; }
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 8.4.6.4-multiple-7 FAILED
==== 8.4.6.4-multiple-8 It is possible to have access to multiple
methods, when one is not inherited across package boundaries. The
inherited method need not match the hidden one. FAILED
==== Contents of test case:
compile [saveas p1/T8464m8a.java {
package p1;
public class T8464m8a {
final int m() { return 1; }
}
abstract class T8464m8c extends p2.T8464m8b {
// inherited abstract b.m() can be implemented outside package p1.
// Therefore, even though accessible a.m() is final, it need not provide
// the implementation of b.m() since it is not inherited
// Note, however, that no concrete subclass of b can live in p1.
int i = m();
}
}] [saveas p2/T8464m8b.java {
package p2;
public abstract class T8464m8b extends p1.T8464m8a {
protected abstract int m();
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 8.4.6.4-multiple-8 FAILED
tests/jls/classes/method-declarations/inheritance-overriding-and-hiding/overriding
tests/jls/classes/method-declarations/inheritance-overriding-and-hiding/requirements
tests/jls/classes/method-declarations/method-body
tests/jls/classes/method-declarations/method-modifiers
tests/jls/classes/method-declarations/method-signature
tests/jls/classes/method-declarations/method-throws
tests/jls/classes/static-initializers
==== 8.7-return-3 Static initializers may not return FAILED
==== Contents of test case:
empty_class T87r3 {
static { return 1; }
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 8.7-return-3 FAILED
==== 8.7-return-4 Static initializers may not return FAILED
==== Contents of test case:
empty_class T87r4 {
static { if (false) return 1; }
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 8.7-return-4 FAILED
tests/jls/conversions-and-promotions/assignment-conversion
tests/jls/conversions-and-promotions/kinds-of-conversion/identity-conversions
tests/jls/conversions-and-promotions/kinds-of-conversion/narrowing-primitive-conversions
tests/jls/conversions-and-promotions/kinds-of-conversion/widening-primitive-conversions
tests/jls/definite-assignment
==== 16-instance-5 A blank final field may only be assigned by
simple name or this.name FAILED
==== Contents of test case:
empty_class T16i5 {
final int i;
{
T16i5.this.i = 1;
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 16-instance-5 FAILED
==== 16-instance-6 A blank final field may only be assigned by
simple name or this.name FAILED
==== Contents of test case:
empty_class T16i6 {
final int i;
{
(this).i = 1;
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 16-instance-6 FAILED
==== 16-instance-7 A blank final field may only be assigned by
simple name or this.name FAILED
==== Contents of test case:
empty_class T16i7 {
final int i;
{
(T16i7.this).i = 1;
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 16-instance-7 FAILED
tests/jls/definite-assignment/anonymous-classes
==== 16.5-anonymous-3 V is DA before an anonymous class iff V is
DA after the class instance creation expression FAILED
==== Contents of test case:
empty_class T165a3 {
T165a3(int j) {}
void foo() {
final int v;
new T165a3(v = 1) {
int i = v;
};
}
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 16.5-anonymous-3 FAILED
tests/jls/definite-assignment/constructors-and-instance-initializers
tests/jls/definite-assignment/expressions/assignment-expressions
tests/jls/definite-assignment/expressions/boolean-conditional-and
tests/jls/definite-assignment/expressions/boolean-conditional-operator
tests/jls/definite-assignment/expressions/boolean-conditional-or
tests/jls/definite-assignment/expressions/operators-increment-and-decrement
tests/jls/definite-assignment/statements/do-statements
tests/jls/definite-assignment/statements/for-statements
==== 16.2.11-definite-unassign-pass-7 v may be reachably assigned
in loop only once unless loop can't repeat FAILED
==== Contents of test case:
empty_main T16211dup7 {
for (final boolean b; true; b = true)
break;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 16.2.11-definite-unassign-pass-7 FAILED
==== 16.2.11-definite-unassign-pass-8 v may be reachably assigned
in loop only once unless loop can't repeat FAILED
==== Contents of test case:
empty_main T16211dup8 {
boolean b = true;
for (final int i; b && false; )
i = 1;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 16.2.11-definite-unassign-pass-8 FAILED
tests/jls/definite-assignment/statements/if-statements
tests/jls/definite-assignment/statements/labeled-statements
tests/jls/definite-assignment/statements/local-class-declaration-statements
==== 16.2.3-local-class-12 Combined with 16.6-8, v is DA before
members of a local class if v is DA before the local class
declaration FAILED
==== Contents of test case:
empty_main T1623lc12 {
final int i;
class Local {
class Member {
{
new Object() { // anonymous
int j = i;
};
}
}
}
i = 1;
new Local().new Member();
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 16.2.3-local-class-12 FAILED
tests/jls/definite-assignment/statements/switch-statements
==== 16.2.8-final-1 A blank final may be assigned in different block
statement groups, provided it not assigned twice. Even with a
non-constant initializer, the variable declaration is treated as
a blank final FAILED
==== Contents of test case:
switch_labels T1628f1 int {
case 0:
final int j = "".length();
break;
case 1:
j = 1;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 16.2.8-final-1 FAILED
tests/jls/definite-assignment/statements/try-statements
==== 16.2.14-definite-unassign-fail-1 v is DU before a catch block
iff it is DU before the try block and the try block has no reachable
assignments to v FAILED
==== Contents of test case:
empty_main T16214duf1 {
final int i;
int count = 0;
while (true) {
try {
i = count++;
count /= 0; // throws ArithmeticException
while (true);
} catch (Exception e) {
// i not DU, since try block had reachable assignment
}
// i multiply assigned in loop
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 16.2.14-definite-unassign-fail-1 FAILED
==== 16.2.14-definite-unassign-fail-2 v is DU before a finally block
iff it is DU before the try block and the try block and all catch
blocks have no reachable assignments to v FAILED
==== Contents of test case:
empty_main T16214duf2 {
final int i;
int count = 0;
while (true) {
try {
i = count++;
count /= 0; // throws ArithmeticException
while (true);
} finally {
// i not DU, since try block had reachable assignment
continue; // discards exception
}
// i multiply assigned in loop
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 16.2.14-definite-unassign-fail-2 FAILED
==== 16.2.14-definite-unassign-fail-3 v is DU before a finally block
iff it is DU before the try block and the try block and all catch
blocks have no reachable assignments to v FAILED
==== Contents of test case:
empty_main T16214duf3 {
final int i;
int count = 0;
while (true) {
try {
i = count++;
count /= 0; // throws ArithmeticException
while (true);
} catch (Exception e) {
} finally {
// i not DU, since try block had reachable assignment
}
// i multiply assigned in loop
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 16.2.14-definite-unassign-fail-3 FAILED
==== 16.2.14-definite-unassign-fail-4 v is DU before a finally block
iff it is DU before the try block and the try block and all catch
blocks have no reachable assignments to v FAILED
==== Contents of test case:
empty_main T16214duf4 {
final int i;
int count = 0;
while (true) {
try {
throw new Exception();
} catch (Exception e) {
i = count++;
count /= 0; // throws ArithmeticException
while (true);
} finally {
// i not DU, since catch block had reachable assignment
continue; // discards exception
}
// i multiply assigned in loop
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 16.2.14-definite-unassign-fail-4 FAILED
==== 16.2.14-definite-unassign-fail-5 v is DU before a catch block
iff it is DU before the try block and the try block has no reachable
assignments to v FAILED
==== Contents of test case:
empty_class T16214duf5 {
static final int i;
static void m() { throw new RuntimeException(); }
static {
try {
i = 1;
m();
while (true);
} catch (RuntimeException e) {
i = 2;
}
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 16.2.14-definite-unassign-fail-5 FAILED
==== 16.2.14-definite-unassign-fail-6 v is DU before a finally block
iff it is DU before the try block and the try block and all catch
blocks have no reachable assignments to v FAILED
==== Contents of test case:
empty_class T16214duf6 {
static final int i;
static void m() { throw new RuntimeException(); }
static {
l: try {
i = 1;
m();
while (true);
} finally {
i = 2;
break l;
}
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 16.2.14-definite-unassign-fail-6 FAILED
==== 16.2.14-definite-unassign-fail-7 v is DU before a finally block
iff it is DU before the try block and the try block and all catch
blocks have no reachable assignments to v FAILED
==== Contents of test case:
empty_class T16214duf7 {
static final int i;
static void m() { throw new RuntimeException(); }
static {
try {
i = 1;
m();
while (true);
} catch (RuntimeException e) {
} finally {
i = 2;
}
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 16.2.14-definite-unassign-fail-7 FAILED
==== 16.2.14-definite-unassign-fail-8 v is DU before a finally block
iff it is DU before the try block and the try block and all catch
blocks have no reachable assignments to v FAILED
==== Contents of test case:
empty_class T16214duf8 {
static final int i;
static void m() { throw new RuntimeException(); }
static {
l: try {
m();
} catch (RuntimeException e) {
i = 1;
m();
while (true);
} finally {
i = 2;
break l;
}
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 16.2.14-definite-unassign-fail-8 FAILED
tests/jls/definite-assignment/statements/while-statements
==== 16.2.9-definite-unassign-pass-7 v may be reachably assigned
in loop only once unless loop can't repeat FAILED
==== Contents of test case:
empty_main T1629dup7 {
final int i;
boolean b = true;
while (b && false)
i = 1;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 16.2.9-definite-unassign-pass-7 FAILED
tests/jls/expressions/additive-operators
tests/jls/expressions/additive-operators/numeric-types
==== 15.18.2-double-16 Floating-point addition takes place with
infinite accuracy, then rounds to nearest, use of 80-bit
extended precision instead of 64-bit double precision will fail
for this test case FAILED
==== Contents of test case:
constant_expression T15182d16 {1.1107651257113993e-16 + 1 ==
1.0000000000000002}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 15.18.2-double-16 FAILED
tests/jls/expressions/additive-operators/string-concatenation-operator
==== 15.18.1-float-1 convert denormalized float to String FAILED
==== Contents of test case:
constant_expression T15181f1 {"" + 1e-44f == "9.8E-45"} {1e-44f + "" == "9.8E-45"}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 15.18.1-float-1 FAILED
==== 15.18.1-float-4 convert min float to String FAILED
==== Contents of test case:
constant_expression T15181f4 {"" + Float.MIN_VALUE == "1.4E-45"} {Float.MIN_VALUE + "" == "1.4E-45"}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 15.18.1-float-4 FAILED
==== 15.18.1-float-6 conversion of float to String must use as few
digits after decimal as produce the same float again by rounding FAILED
==== Contents of test case:
constant_expression T15181f6 {"" + 123456768f == "1.2345677E8"} {"" + 123456776f == "1.23456776E8"} {"" + 123456784f == "1.2345678E8"} {"" + 123456792f == "1.2345679E8"} {"" + 123456800f == "1.234568E8"} {123456768f + "" == "1.2345677E8"} {123456776f + "" == "1.23456776E8"} {123456784f + "" == "1.2345678E8"} {123456792f + "" == "1.2345679E8"} {123456800f + "" == "1.234568E8"}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 15.18.1-float-6 FAILED
==== 15.18.1-float-11 conversion of float to String prints the
closest decimal string to the exact value, even on denorms FAILED
==== Contents of test case:
constant_expression T15181f11 {"" + 1e-43f == "9.9E-44"} {1e-43f + "" == "9.9E-44"}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 15.18.1-float-11 FAILED
==== 15.18.1-float-12 conversion of float to String must use as few
digits after decimal as produce the same float again by rounding FAILED
==== Contents of test case:
constant_expression T15181f12 {"" + 4294967808f == "4.294968E9"} {4294967808f + "" == "4.294968E9"}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 15.18.1-float-12 FAILED
==== 15.18.1-double-4 convert min double to String FAILED
==== Contents of test case:
constant_expression T15181d4 {"" + Double.MIN_VALUE == "4.9E-324"} {Double.MIN_VALUE + "" == "4.9E-324"}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 15.18.1-double-4 FAILED
==== 15.18.1-double-13 conversion of double to String prints the
closest decimal string to the exact value, even on denorms FAILED
==== Contents of test case:
constant_expression T15181d13 {"" + 1e-323 == "9.9E-324"} {"" + 1e-322 == "9.9E-323"} {1e-323 + "" == "9.9E-324"} {1e-322 + "" == "9.9E-323"}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 15.18.1-double-13 FAILED
tests/jls/expressions/array-access-expressions
tests/jls/expressions/array-creation-expressions
tests/jls/expressions/assignment-operators/compound-assignment-operators
==== 15.26.2-variable-9 the left-hand side must be a variable FAILED
==== Contents of test case:
empty_class T15262var9 {
void bar() {}
void foo() {
bar() += "oops";
}
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 15.26.2-variable-9 FAILED
==== 15.26.2-variable-10 the left-hand side must be a variable FAILED
==== Contents of test case:
empty_class T15262var10 {
void bar() {}
void foo() {
(bar()) += "oops";
}
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 15.26.2-variable-10 FAILED
==== 15.26.2-variable-11 the left-hand side must be a variable FAILED
==== Contents of test case:
empty_class T15262var11 {
String bar() { return ""; }
void foo() {
bar() += "oops";
}
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 15.26.2-variable-11 FAILED
==== 15.26.2-variable-12 the left-hand side must be a variable FAILED
==== Contents of test case:
empty_class T15262var12 {
String bar() { return ""; }
void foo() {
(bar()) += "oops";
}
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 15.26.2-variable-12 FAILED
tests/jls/expressions/cast-expressions
tests/jls/expressions/class-instance-creation
tests/jls/expressions/class-instance-creation/anonymous-class-declarations/anonymous-constructors
tests/jls/expressions/class-instance-creation/choosing-the-constructor
tests/jls/expressions/class-instance-creation/determining-enclosing-instances
tests/jls/expressions/class-instance-creation/determining-the-class
==== 15.9.1-qualified-anonymous-15 The anonymous class extends
the inner class of the type of the qualifier FAILED
==== Contents of test case:
empty_class T1591qa15 {
class Inner{}
Object o = new T1591qa15(){}.new Inner(){};
}
---- Result was:
COREDUMP
---- Result should have been:
PASS
==== 15.9.1-qualified-anonymous-15 FAILED
==== 15.9.1-qualified-anonymous-16 The anonymous class extends
the inner class of the type of the qualifier FAILED
==== Contents of test case:
empty_class T1591qa16 {
Object o = new T1591qa16(){
class Inner{}
}.new Inner(){};
}
---- Result was:
COREDUMP
---- Result should have been:
PASS
==== 15.9.1-qualified-anonymous-16 FAILED
==== 15.9.1-qualified-anonymous-17 The anonymous class extends
the inner class of the type of the qualifier FAILED
==== Contents of test case:
empty_class T1591qa17 {
class Inner {
static final int foo = 1;
}
Object o = new T1591qa17(){
class Inner {
static final int foo = 2;
}
}.new Inner(){
{
switch (1) {
case 0:
case ((foo == 2) ? 1 : 0):
}
}
};
}
---- Result was:
COREDUMP
---- Result should have been:
PASS
==== 15.9.1-qualified-anonymous-17 FAILED
==== 15.9.1-qualified-concrete-12 The qualified name must be an
inner class FAILED
==== Contents of test case:
empty_class T1591qc12 {
static class Inner{}
Object o = new T1591qc12().new Inner();
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 15.9.1-qualified-concrete-12 FAILED
tests/jls/expressions/conditional-and-operator
tests/jls/expressions/conditional-operator
tests/jls/expressions/conditional-or-operator
tests/jls/expressions/constant-expression
tests/jls/expressions/equality-operators
tests/jls/expressions/equality-operators/numerical-equality
tests/jls/expressions/equality-operators/reference-equality
tests/jls/expressions/field-access-expressions/accessing-superclass-members-using-super
==== 15.11.2-explicit-constructor-2 Cannot access instance fields
from this class within an explicit constructor FAILED
==== Contents of test case:
empty_class T15112ec2 {
class One {
int i;
}
class Two extends One {
class Inner {
Inner(int i) {}
Inner() {
// calling super field of enclosing class is legal
this(Two.super.i);
}
}
}
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 15.11.2-explicit-constructor-2 FAILED
tests/jls/expressions/field-access-expressions/using-a-primary
tests/jls/expressions/method-invocation-expressions/chosen-method-appropriate
==== 15.12.3-explicit-constructor-7 Cannot access instance methods
from this class within an explicit constructor FAILED
==== Contents of test case:
empty_class T15123ec7 {
class One {
int m() { return 1; }
}
class Two extends One {
class Inner {
Inner(int i) {}
Inner() {
// calling super method of enclosing class is legal
this(Two.super.m());
}
}
}
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 15.12.3-explicit-constructor-7 FAILED
==== 15.12.3-explicit-constructor-10 Cannot access instance methods
from this class within an explicit constructor FAILED
==== Contents of test case:
compile [saveas p1/T15123ec10a.java {
package p1;
public class T15123ec10a {
int m() { return 1; }
class C extends p2.T15123ec10b {
C(int j) {}
C() {
// c does not inherit m(), so use the enclosing version
this(m());
}
}
}
}] [saveas p2/T15123ec10b.java {
package p2;
public class T15123ec10b extends p1.T15123ec10a {}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 15.12.3-explicit-constructor-10 FAILED
tests/jls/expressions/method-invocation-expressions/determine-class-or-interface
==== 15.12.1-type-4 The type to search for TypeName.MethodName is
TypeName, which must be a class FAILED
==== Contents of test case:
empty_class T15121t4 {
interface A {
void m();
}
{ A.m(); }
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 15.12.1-type-4 FAILED
tests/jls/expressions/method-invocation-expressions/determine-method-signature/applicable-and-accessible
==== 15.12.2.1-accessibility-method-6 A method must be applicable
and accessible FAILED
==== Contents of test case:
compile [saveas p1/T151221am6a.java {
package p1;
public class T151221am6a {
public static class E1 extends Exception {}
public static class E2 extends Exception {}
public static abstract class A {
protected abstract void m() throws E1; // note non-public accessibility
}
}
}] [saveas T151221am6b.java {
class T151221am6b extends p1.T151221am6a {
interface B {
void m() throws E2;
}
static abstract class C extends A implements B {
// c inherits two versions of m
}
static abstract class D extends C {
// likewise, d inherits two versions of m, but protected accessibility
// rules state that access to a.m is only possible when the qualifier
// is d or below. When both methods are accessible, the method cannot
// throw either exception; but alone, b.m may throw.
{
m(); // merged throws clause
try {
((C) this).m(); // only b.m accessible
} catch (E2 e) {
}
}
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 15.12.2.1-accessibility-method-6 FAILED
==== 15.12.2.1-accessibility-method-8 A method must be applicable
and accessible FAILED
==== Contents of test case:
compile [saveas p1/T151221am8a.java {
package p1;
public class T151221am8a {
public static class E1 extends Exception {}
public static class E2 extends Exception {}
public static abstract class A {
protected abstract void m() throws E1; // note non-public accessibility
}
}
}] [saveas T151221am8b.java {
class T151221am8b extends p1.T151221am8a {
interface B {
void m() throws E2;
}
static abstract class C extends A implements B {
// c inherits two versions of m
}
static abstract class D extends C {
// likewise, d inherits two versions of m, but protected accessibility
// rules state that access to a.m is only possible when the qualifier
// is d or below. When both methods are accessible, the method cannot
// throw either exception; but alone, b.m may throw.
{
((C) this).m(); // only b.m accessible
}
}
}
}]
---- Result was:
PASS
---- Result should have been:
FAIL
==== 15.12.2.1-accessibility-method-8 FAILED
tests/jls/expressions/method-invocation-expressions/determine-method-signature/choose-most-specific
tests/jls/expressions/multiplicative-operators
tests/jls/expressions/multiplicative-operators/division-operator
tests/jls/expressions/multiplicative-operators/multiplication-operator
tests/jls/expressions/multiplicative-operators/remainder-operator
tests/jls/expressions/postfix-expressions/postfix-decrement-operator
==== 15.14.2-argument-5 Postfix-- must operate on a numeric variable FAILED
==== Contents of test case:
empty_class T15142a5 {int i = (System.out.println())--;}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 15.14.2-argument-5 FAILED
tests/jls/expressions/postfix-expressions/postfix-increment-operator
==== 15.14.1-argument-5 Postfix++ must operate on a numeric variable FAILED
==== Contents of test case:
empty_class T15141a5 {int i = (System.out.println())++;}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 15.14.1-argument-5 FAILED
tests/jls/expressions/primary-expressions/class-literals
tests/jls/expressions/primary-expressions/parenthesized-expressions
==== 15.8.5-statement-6 Parenthesized expression is not a statement FAILED
==== Contents of test case:
empty_class T1585s6 {
void foo() {}
void bar() {
(foo());
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 15.8.5-statement-6 FAILED
==== 15.8.5-statement-7 Parenthesized expression is not a statement FAILED
==== Contents of test case:
empty_main T1585s7 {
int i;
(i = 1);
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 15.8.5-statement-7 FAILED
tests/jls/expressions/primary-expressions/qualified-this
tests/jls/expressions/relational-operators/type-comparison-operator-instanceof
tests/jls/expressions/unary-operators
tests/jls/expressions/unary-operators/bitwise-complement-operator
tests/jls/expressions/unary-operators/logical-complement-operator
tests/jls/expressions/unary-operators/prefix-decrement-operator
==== 15.15.2-argument-5 --Prefix must operate on a numeric variable FAILED
==== Contents of test case:
empty_class T15152a5 {int i = --(System.out.println());}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 15.15.2-argument-5 FAILED
tests/jls/expressions/unary-operators/prefix-increment-operator
==== 15.15.1-argument-5 ++Prefix must operate on a numeric variable FAILED
==== Contents of test case:
empty_class T15151a5 {int i = ++(System.out.println());}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 15.15.1-argument-5 FAILED
tests/jls/expressions/unary-operators/unary-minus-operator
tests/jls/expressions/unary-operators/unary-plus-operator
tests/jls/interfaces/abstract-method-declarations
==== 9.4-modifier-15 Stress test FAILED
==== Contents of test case:
empty_class T94m15 {
interface I {
public abstract protected private static final transient volatile
strictfp native synchronized public abstract void m();
}
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 9.4-modifier-15 FAILED
tests/jls/interfaces/abstract-method-declarations/inheritance-and-overriding
tests/jls/interfaces/abstract-method-declarations/overloading
tests/jls/interfaces/field-constant-declarations
==== 9.3-modifier-16 Stress test FAILED
==== Contents of test case:
empty_class T93m16 {
interface I {
public static final protected private abstract transient volatile
strictfp native synchronized public static final int i = 1;
}
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 9.3-modifier-16 FAILED
==== 9.3-conflict-3 An interface may inherit a field with the same
name twice, but may not use it, even if both have the same value FAILED
==== Contents of test case:
empty_class T93c3 {
interface I1 { int i = 1; }
interface I2 { int i = 1; }
interface I3 extends I1, I2 { int j = i; }
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 9.3-conflict-3 FAILED
tests/jls/interfaces/field-constant-declarations/initialization-of-fields
==== 9.3.1-illegal-forward-1 Simple usage before
declaration legal if not in declaring class FAILED
==== Contents of test case:
empty_class T931if1 {
interface I {
int i = j;
int j = 1;
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== 9.3.1-illegal-forward-1 FAILED
==== 9.3.1-illegal-forward-2 Simple usage before
declaration legal if not in declaring class FAILED
==== Contents of test case:
empty_class T931if2 {
interface I {
int i = i + 1;
}
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 9.3.1-illegal-forward-2 FAILED
tests/jls/interfaces/interface-declarations
tests/jls/interfaces/interface-declarations/interface-body-and-member-declarations
tests/jls/interfaces/interface-declarations/interface-modifiers
==== 9.1.1-in-interface-17 stress test FAILED
==== Contents of test case:
compile [saveas T911ii17.java {
interface T911ii17 {
public static abstract strictfp protected private final transient
synchronized volatile native public static abstract strictfp
interface I {}
}
}]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 9.1.1-in-interface-17 FAILED
tests/jls/interfaces/interface-declarations/interface-modifiers/abstract-interfaces
tests/jls/interfaces/interface-declarations/superinterfaces-and-subinterfaces
tests/jls/interfaces/interface-members
==== 9.2-implicit-4 It is an error for an interface method to
conflict with a public one from Object FAILED
==== Contents of test case:
empty_class T92i4 "interface I { Class getClass(); }"
---- Result was:
PASS
---- Result should have been:
FAIL
==== 9.2-implicit-4 FAILED
tests/jls/lexical-structure/comments
==== 3.7-13 // comment cannot appear in literal FAILED
==== Contents of test case:
compile [saveas T3713.java "class T3713 {char c = 'a//\n';}"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.7-13 FAILED
==== 3.7-14 /**/ comment cannot appear in literal FAILED
==== Contents of test case:
compile [saveas T3714.java "class T3714 {char c = 'a/* */';}"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.7-14 FAILED
==== 3.7-15 /* must have matching */ FAILED
==== Contents of test case:
compile [saveas T3715.java "class T3715 {} /*"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.7-15 FAILED
==== 3.7-26 /*/ is not a comment, but an opening for /* */ FAILED
==== Contents of test case:
empty_class T3726 "/*/"
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.7-26 FAILED
==== 3.7-34 /**/ comment cannot appear in literal FAILED
==== Contents of test case:
compile [saveas T3734.java "class T3734 {char c = 'a/** */';}"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.7-34 FAILED
==== 3.7-35 /** must have matching */ FAILED
==== Contents of test case:
compile [saveas T3735.java "class T3735 {} /**"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.7-35 FAILED
==== 3.7-36 /* must have matching */ FAILED
==== Contents of test case:
compile [saveas T3736.java "class T3736 {} /* "]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.7-36 FAILED
==== 3.7-37 /** must have matching */ FAILED
==== Contents of test case:
compile [saveas T3737.java "class T3737 {} /** "]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.7-37 FAILED
==== 3.7-38 /* must have matching */ FAILED
==== Contents of test case:
compile [saveas T3738.java "class T3738 {} /* *"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.7-38 FAILED
==== 3.7-39 /** must have matching */ FAILED
==== Contents of test case:
compile [saveas T3739.java "class T3739 {} /** *"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.7-39 FAILED
tests/jls/lexical-structure/identifiers
==== 3.8-invalid-8 Trailing characters in an identifier must
satisfy Character.isJavaIdentifierPart FAILED
==== Contents of test case:
identifier T38i8 i\\uffff
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.8-invalid-8 FAILED
==== 3.8-invalid-9 Invalid, as \0 is not short for \u0000 FAILED
==== Contents of test case:
identifier T38i9 i\\0
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.8-invalid-9 FAILED
==== 3.8-ignorable-1 JCL docs refer to 200a, but this is a typo FAILED
==== Contents of test case:
compile [saveas T38ignoreable1.java {
class T38ignoreable1 {
int i\u200a;
}
}]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.8-ignorable-1 FAILED
tests/jls/lexical-structure/input-elements-and-tokens
==== 3.5-11 The ASCII SUB character (0x1a) should be ignored if it is
the last character in the escaped stream. FAILED
==== Contents of test case:
set S \x1a
compile [saveas T3511.java "class T3511 { $S }"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.5-11 FAILED
==== 3.5-12 The ASCII SUB character (0x1a) may not be duplicated as
the last ignored character in the stream. FAILED
==== Contents of test case:
set S \x1a
compile [saveas T3512.java "class T3512 {} $S$S"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.5-12 FAILED
==== 3.5-13 The ASCII SUB character (0x1a) may not be duplicated as
the last ignored character in the stream. FAILED
==== Contents of test case:
set S \\u001a
compile [saveas T3513.java "class T3513 {} $S$S"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.5-13 FAILED
==== 3.5-14 The ASCII SUB character (0x1a) may not be duplicated as
the last ignored character in the stream. FAILED
==== Contents of test case:
set S \x1a\\u001a
compile [saveas T3514.java "class T3514 {} $S"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.5-14 FAILED
==== 3.5-15 The ASCII SUB character (0x1a) may not be duplicated as
the last ignored character in the stream. FAILED
==== Contents of test case:
set S \\u001a\x1a
compile [saveas T3515.java "class T3515 {} $S"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.5-15 FAILED
tests/jls/lexical-structure/keywords
tests/jls/lexical-structure/lexical-translations
==== 3.2-invalid-8 An unterminated \ is illegal FAILED
==== Contents of test case:
compile [saveas T32i8.java "class T32i8{} \\"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.2-invalid-8 FAILED
==== 3.2-invalid-9 Even in comments, \u escapes must be legal FAILED
==== Contents of test case:
empty_main T32i9 {
/* \udefg */
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.2-invalid-9 FAILED
tests/jls/lexical-structure/line-terminators
tests/jls/lexical-structure/literals/character-literals
==== 3.10.4-invalid-1 A SingleCharacter cannot be ' FAILED
==== Contents of test case:
literal T3104i1 '
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-1 FAILED
==== 3.10.4-invalid-2 A SingleCharacter cannot be ' FAILED
==== Contents of test case:
literal T3104i2 {\u0027}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-2 FAILED
==== 3.10.4-invalid-3 A SingleCharacter cannot be \ FAILED
==== Contents of test case:
literal T3104i3 \\
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-3 FAILED
==== 3.10.4-invalid-4 A SingleCharacter cannot be \ FAILED
==== Contents of test case:
literal T3104i4 {\u005c}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-4 FAILED
==== 3.10.4-invalid-5 A LineTerminator is not an InputCharacter FAILED
==== Contents of test case:
literal T3104i5 \r
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-5 FAILED
==== 3.10.4-invalid-6 A LineTerminator is not an InputCharacter FAILED
==== Contents of test case:
literal T3104i6 \n
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-6 FAILED
==== 3.10.4-invalid-7 A LineTerminator is not an InputCharacter FAILED
==== Contents of test case:
literal T3104i7 \r\n
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-7 FAILED
==== 3.10.4-invalid-8 A LineTerminator is not an InputCharacter FAILED
==== Contents of test case:
literal T3104i8 {\u000d}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-8 FAILED
==== 3.10.4-invalid-9 A LineTerminator is not an InputCharacter FAILED
==== Contents of test case:
literal T3104i9 {\u000a}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-9 FAILED
==== 3.10.4-invalid-10 A LineTerminator is not an InputCharacter FAILED
==== Contents of test case:
literal T3104i10 {\u000d\u000a}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-10 FAILED
==== 3.10.4-invalid-11 ' must be terminated with ' FAILED
==== Contents of test case:
literal T3104i11 AB
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-11 FAILED
==== 3.10.4-invalid-12 empty character literal is not allowed FAILED
==== Contents of test case:
literal T3104i12 ""
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-12 FAILED
==== 3.10.4-invalid-13 \r\n is two character literals FAILED
==== Contents of test case:
literal T3104i13 {\r\n}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-13 FAILED
==== 3.10.4-invalid-14 ' must be terminated with ' FAILED
==== Contents of test case:
compile [saveas T3104i14.java "class T3104i14 {char c = 'a;}"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-14 FAILED
==== 3.10.4-invalid-15 EOF inside '' FAILED
==== Contents of test case:
compile [saveas T3104i15.java "class T3104i15 \{char c = '"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-15 FAILED
==== 3.10.4-invalid-16 EOF inside '' FAILED
==== Contents of test case:
compile [saveas T3104i16.java "class T3104i16 \{char c = 'a"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-16 FAILED
==== 3.10.4-invalid-17 EOF inside '' FAILED
==== Contents of test case:
compile [saveas T3104i17.java "class T3104i17 \{char c = '\\"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.4-invalid-17 FAILED
tests/jls/lexical-structure/literals/escape-sequences
==== 3.10.7-invalid-1 \a (Alert, Ctrl-G) is not an escape sequence FAILED
==== Contents of test case:
sequence T3107i1 {\a}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-1 FAILED
==== 3.10.7-invalid-2 \v (Vertical tab, Ctrl-K) is not an escape sequence FAILED
==== Contents of test case:
sequence T3107i2 {\v}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-2 FAILED
==== 3.10.7-invalid-3 \x (hex sequence) is not an escape sequence FAILED
==== Contents of test case:
sequence T3107i3 {\x0}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-3 FAILED
==== 3.10.7-invalid-4 \LineTerminator is not a valid line continuation FAILED
==== Contents of test case:
sequence T3107i4 a\\\n
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-4 FAILED
==== 3.10.7-invalid-5 \u is not an escape sequence, since unicode
is already expanded FAILED
==== Contents of test case:
sequence T3107i5 {\u005cu}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-5 FAILED
==== 3.10.7-invalid-6 octal escape sequences are limited at 0377 FAILED
==== Contents of test case:
sequence T3107i6 {\400}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-6 FAILED
==== 3.10.7-invalid-7 escape sequences are case-sensitive FAILED
==== Contents of test case:
sequence T3107i7 {\N}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-7 FAILED
==== 3.10.7-invalid-8 escape sequences only occur within character
and string literals FAILED
==== Contents of test case:
compile [saveas T3107i8.java "class T3107i8 { \\t }"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-8 FAILED
==== 3.10.7-invalid-9 octal escape sequences are limited at 0377 FAILED
==== Contents of test case:
sequence T3107i9 {\0000}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-9 FAILED
==== 3.10.7-invalid-10 \LineTerminator is not a valid sequence FAILED
==== Contents of test case:
sequence T3107i10 \\\n
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-10 FAILED
==== 3.10.7-invalid-11 \LineTerminator is not a valid sequence FAILED
==== Contents of test case:
sequence T3107i11 \\\r
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-11 FAILED
==== 3.10.7-invalid-12 \u is not an escape sequence, since unicode
is already expanded FAILED
==== Contents of test case:
sequence T3107i12 {\u005cu0000}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-12 FAILED
==== 3.10.7-invalid-13 escape sequences only occur within character
and string literals FAILED
==== Contents of test case:
compile [saveas T3107i13.java "class T3107i13 {} \\\\"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-13 FAILED
==== 3.10.7-invalid-14 escape sequences only occur within character
and string literals FAILED
==== Contents of test case:
compile [saveas T3107i14.java "class T3107i14 {} \\"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-14 FAILED
==== 3.10.7-invalid-15 \LineTerminator is not a valid sequence FAILED
==== Contents of test case:
empty_class T3107i15 "class T3107i15 { String s = \"\\\n\";}"
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-15 FAILED
==== 3.10.7-invalid-16 \LineTerminator is not a valid sequence FAILED
==== Contents of test case:
empty_class T3107i16 "class T3107i16 { String s = \"\\\r\";}"
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.7-invalid-16 FAILED
tests/jls/lexical-structure/literals/floating-point-literals
==== 3.10.2-invalid-4 ExponentPart must include a SignedInteger FAILED
==== Contents of test case:
literal T3102i4 1.E
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.2-invalid-4 FAILED
==== 3.10.2-invalid-5 ExponentPart must include a SignedInteger FAILED
==== Contents of test case:
literal T3102i5 1.e
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.2-invalid-5 FAILED
==== 3.10.2-invalid-6 ExponentPart must include a SignedInteger FAILED
==== Contents of test case:
literal T3102i6 1.E+
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.2-invalid-6 FAILED
==== 3.10.2-invalid-7 ExponentPart must include a SignedInteger FAILED
==== Contents of test case:
literal T3102i7 1.E-
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.2-invalid-7 FAILED
==== 3.10.2-invalid-8 ExponentPart must include a SignedInteger FAILED
==== Contents of test case:
literal T3102i8 .1eF
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.2-invalid-8 FAILED
==== 3.10.2-invalid-9 ExponentPart must include a SignedInteger FAILED
==== Contents of test case:
literal T3102i9 .1e-D
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.2-invalid-9 FAILED
==== 3.10.2-invalid-10 ExponentPart must include a SignedInteger FAILED
==== Contents of test case:
literal T3102i10 1e-d
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.2-invalid-10 FAILED
==== 3.10.2-invalid-11 ExponentPart must include a SignedInteger FAILED
==== Contents of test case:
literal T3102i11 .1e+F
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.2-invalid-11 FAILED
==== 3.10.2-round-1 It is an error for a floating-point
literal to round to an infinity FAILED
==== Contents of test case:
literal T3102r1 1e39f
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.2-round-1 FAILED
==== 3.10.2-round-2 It is an error for a floating-point
literal to round to an infinity FAILED
==== Contents of test case:
literal T3102r2 -1e310
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.2-round-2 FAILED
==== 3.10.2-round-3 It is an error for a nonzero
floating-point to round to zero FAILED
==== Contents of test case:
literal T3102r3 1e-47f
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.2-round-3 FAILED
==== 3.10.2-round-4 It is an error for a nonzero
floating-point to round to zero FAILED
==== Contents of test case:
literal T3102r4 -1e-326
---- Result was:
PASS
---- Result should have been:
FAIL
==== 3.10.2-round-4 FAILED
==== 3.10.2-round-5 It is an error for a floating-point
literal to round to an infinity FAILED
==== Contents of test case:
literal T3102r5 340282356779733661637539395458142568448f
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.2-round-5 FAILED
==== 3.10.2-round-6 It is an error for a floating-point
literal to round to an infinity FAILED
==== Contents of test case:
literal T3102r6 179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497792.0
---- Result was:
PASS
---- Result should have been:
FAIL
==== 3.10.2-round-6 FAILED
==== 3.10.2-round-7 It is an error for a nonzero
floating-point to round to zero FAILED
==== Contents of test case:
literal T3102r7 0.000000000000000000000000000000000000000000000700649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015625f
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.2-round-7 FAILED
==== 3.10.2-round-8 It is an error for a nonzero
floating-point to round to zero FAILED
==== Contents of test case:
literal T3102r8 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000247032822920623272088284396434110686182529901307162382212792841250337753635104375932649918180817996189898282347722858865463328355177969898199387398005390939063150356595155702263922908583924491051844359318028499365361525003193704576782492193656236698636584807570015857692699037063119282795585513329278343384093519780155312465972635795746227664652728272200563740064854999770965994704540208281662262378573934507363390079677619305775067401763246736009689513405355374585166611342237666786041621596804619144672918403005300575308490487653917113865916462395249126236538818796362393732804238910186723484976682350898633885879256283027559956575244555072551
89313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328125
---- Result was:
PASS
---- Result should have been:
FAIL
==== 3.10.2-round-8 FAILED
==== 3.10.2-round-9 test rounding at border of float denorms FAILED
==== Contents of test case:
constant_expression T3102r9 {0.00000000000000000000000000000000000001175494280757364291727882991035766513322858992758990427682963118425003064965173038558532425668090581893920898437499999f == 1.1754942e-38f} {0.000000000000000000000000000000000000011754942807573642917278829910357665133228589927589904276829631184250030649651730385585324256680905818939208984375f == 1.1754944e-38f} {0.00000000000000000000000000000000000001175494280757364291727882991035766513322858992758990427682963118425003064965173038558532425668090581893920898437500001f == 1.1754944e-38f}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 3.10.2-round-9 FAILED
==== 3.10.2-round-10 test rounding at border of double denorms.
Note that Javac 1.3 enters an infinite loop on this test. FAILED
==== Contents of test case:
constant_expression T3102r10 {0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201136057409796709131975934819546351645648023426109724822222021076945516529523908135087914149158913039621106870086438694594645527657207407820621743379988141063267329253552286881372149012981122451451889849057222307285255133155755015914397476397983411801999323962548289017107081850690630666655994938275772572015763062690663332647565300009245888316433037779791869612049497390377829704905051080609940730262937128958950003583799967207254304360284078895771796150945516748243471030702609144621572289880258182545180325707018860872113128079512233426288368622321503775666622503982534335974568884423900265498198385487948292206894721689831099698
3658468140228542433306603398508864458040010349339704275671864433837704860378616227717385456230658746790140867233276367187499999 == 2.225073858507201e-308} {0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201136057409796709131975934819546351645648023426109724822222021076945516529523908135087914149158913039621106870086438694594645527657207407820621743379988141063267329253552286881372149012981122451451889849057222307285255133155755015914397476397983411801999323962548289017107081850690630666655994938275772572015763062690663332647565300009245888316433037779791869612049497390377829704905051080609940730262937128958950003583799967207254304360284078895771796150945516748243471030702609144621572289880258182545180325
707018860872113128079512233426288368622321503775666622503982!
53433597
456888442390026549819838548794829220689472168983109969836584681402285424333066033985088644580400103493397042756718644338377048603786162277173854562306587467901408672332763671875 == 2.2250738585072014e-308} {0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072011360574097967091319759348195463516456480234261097248222220210769455165295239081350879141491589130396211068700864386945946455276572074078206217433799881410632673292535522868813721490129811224514518898490572223072852551331557550159143974763979834118019993239625482890171070818506906306666559949382757725720157630626906633326475653000092458883164330377797918696120494973903778297049050510806099407302629371289589500035837999672072543043602840788957717961509455
167482434710307026091446215722898802581825451803257070188608721131280795122334262883686223215037756666225039825343359745688844239002654981983854879482922068947216898310996983658468140228542433306603398508864458040010349339704275671864433837704860378616227717385456230658746790140867233276367187500001 == 2.2250738585072014e-308}
---- Result was:
COREDUMP
---- Result should have been:
PASS
==== 3.10.2-round-10 FAILED
==== 3.10.2-round-11 test rounding at largest float where
Float.MIN_VALUE is 1 ulp FAILED
==== Contents of test case:
constant_expression T3102r11 {0.00000000000000000000000000000000000002350988491449805367214912435885053862149911421504883761540137648996591935440791942824034777004271745681762695312499999999f == 2.3509884e-38f} {0.00000000000000000000000000000000000002350988491449805367214912435885053862149911421504883761540137648996591935440791942824034777004271745681762695312500000000f == 2.3509884e-38f} {0.00000000000000000000000000000000000002350988491449805367214912435885053862149911421504883761540137648996591935440791942824034777004271745681762695312500000001f == 2.3509886e-38f} {0.00000000000000000000000000000000000002350988631579651799696619528258012191141524549531077949191714824703420324419900211410094925668090581893920898437499999999f == 2.3509886e-38f} {0.00000000000000000000000000000000000002350988631579651799696619528258012191141524549531077949191714824703420324419900211410094925668090581893920898437500000000f == 2.3509887e-38f} {0.00000000000000000000000000000000000002
350988631579651799696619528258012191141524549531077949191714824703420324419900211410094925668090581893920898437500000001f == 2.3509887e-38f}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 3.10.2-round-11 FAILED
==== 3.10.2-round-12 test rounding at largest double where
Double.MIN_VALUE is 1 ulp FAILED
==== Contents of test case:
constant_expression T3102r12 {0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014402025081996672794991863585242658592605113516950912287262231249312640695305412711894243178380137008083052315457825154530323827726959236845743044099361970891187471508150509418060480375117378320411851935338796416115205148741308316327252012460602310586905362063117526562176521464664318142050516404363222266800647432605601171352829157964222745548968213347287383175484034139780984693415105561952938219198147300323410536617087922315108733541318804911055533902788485678121901775450062980622457102958163711745945687733011032421168917765671370549738710820782247758425096706189168706278216333529937613807511420088624997950527910187096634639440
1564490729731565935244123171539810221213221201847003580761626016356864581135848683152156368691976240370422601699829101562499999 == 4.450147717014402e-308} {0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014402025081996672794991863585242658592605113516950912287262231249312640695305412711894243178380137008083052315457825154530323827726959236845743044099361970891187471508150509418060480375117378320411851935338796416115205148741308316327252012460602310586905362063117526562176521464664318142050516404363222266800647432605601171352829157964222745548968213347287383175484034139780984693415105561952938219198147300323410536617087922315108733541318804911055533902788485678121901775450062980622457102958163711745945687733
011032421168917765671370549738710820782247758425096706189168!
70627821
63335299376138075114200886249979505279101870966346394401564490729731565935244123171539810221213221201847003580761626016356864581135848683152156368691976240370422601699829101562500000 == 4.450147717014402e-308} {0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014402025081996672794991863585242658592605113516950912287262231249312640695305412711894243178380137008083052315457825154530323827726959236845743044099361970891187471508150509418060480375117378320411851935338796416115205148741308316327252012460602310586905362063117526562176521464664318142050516404363222266800647432605601171352829157964222745548968213347287383175484034139780984693415105561952938219198147300323410536617087922315108733541318804911055533902788
4856781219017754500629806224571029581637117459456877330110324211689177656713705497387108207822477584250967061891687062782163335299376138075114200886249979505279101870966346394401564490729731565935244123171539810221213221201847003580761626016356864581135848683152156368691976240370422601699829101562500001 == 4.4501477170144023e-308} {0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000445014771701440251914764251404153604015403552681397747857675352661202665683499514137081268292064610847821649864407543211202252060024805475438366959278553944287415798167306559780886369972946500822093454616939395562405743247311393587179131470373640557744498962306030263523273266659389190686273844438061610757538988082348741561964516148197776110323
581423800429751880383178430296416384978052662540451464236950!
15437229
044481924252633972472775537202836761223314045275532818152963888710721086727474559560291862013573209842350335698170430223195347466466783839664426537070382566775697838267614310656819420077579872544813734533267952182996686996626897593533069381831182603797982290422495647610946820195511813521925831718993954860378616227717385456230658746790140867233276367187499999 == 4.4501477170144023e-308} {0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044501477170144025191476425140415360401540355268139774785767535266120266568349951413708126829206461084782164986440754321120225206002480547543836695927855394428741579816730655978088636997294650082209345461693939556240574324731139358717913147037364055774449896230603026352327326665938919068627
384443806161075753898808234874156196451614819777611032358142380042975188038317843029641638497805266254045146423695015437229044481924252633972472775537202836761223314045275532818152963888710721086727474559560291862013573209842350335698170430223195347466466783839664426537070382566775697838267614310656819420077579872544813734533267952182996686996626897593533069381831182603797982290422495647610946820195511813521925831718993954860378616227717385456230658746790140867233276367187500000 == 4.450147717014403e-308} {0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044501477170144025191476425140415360401540355268139774785767535266120266568349951413708126829206461084782164986440754321120225206002480547543836695927855394428741579816
730655978088636997294650082209345461693939556240574324731139!
35871791
3147037364055774449896230603026352327326665938919068627384443806161075753898808234874156196451614819777611032358142380042975188038317843029641638497805266254045146423695015437229044481924252633972472775537202836761223314045275532818152963888710721086727474559560291862013573209842350335698170430223195347466466783839664426537070382566775697838267614310656819420077579872544813734533267952182996686996626897593533069381831182603797982290422495647610946820195511813521925831718993954860378616227717385456230658746790140867233276367187500001 == 4.450147717014403e-308}
---- Result was:
COREDUMP
---- Result should have been:
PASS
==== 3.10.2-round-12 FAILED
==== 3.10.2-float-12 largest finite float, by rounding FAILED
==== Contents of test case:
constant_expression T3102f12 {340282356779733661637539395458142568447.99999f == Float.MAX_VALUE}
---- Result was:
COREDUMP
---- Result should have been:
PASS
==== 3.10.2-float-12 FAILED
==== 3.10.2-float-13 smallest finite float, by rounding.
errors: fail to parse number, round number to zero
note: We can't compare to Float.MIN_VALUE because
some stupid JDK versions don't use a constant value FAILED
==== Contents of test case:
constant_expression T3102f13 {0.00000000000000000000000000000000000000000000070064923216240853546186479164495806564013097093825788587853414194489554134293030074331909418106079101562500001f != 0}
---- Result was:
COREDUMP
---- Result should have been:
PASS
==== 3.10.2-float-13 FAILED
==== 3.10.2-double-14 smallest finite double, by rounding
errors: fail to parse number, round number to zero
note: We can't compare to Double.MIN_VALUE because
some stupid JDK versions don't use a constant value FAILED
==== Contents of test case:
constant_expression T3102d14 {0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002470328229206232720882843964341106861825299013071623822127928412503377536351043759326499181808179961898982823477228588654633283551779698981993873980053909390631503565951557022639229085839244910518443593180284993653615250031937045767824921936562366986365848075700158576926990370631192827955855133292783433840935197801553124659726357957462276646527282722005637400648549997709659947045402082816622623785739345073633900796776193057750674017632467360096895134053553745851666113422376667860416215968046191446729184030053005753084904876539171138659164623952491262365388187963623937328042389101867234849766823508986338858792562830275599565
752445550725518931369083625477918694866799496832404970582102851318545139621383772282614543769341253209859132766723632812500001 != 0}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 3.10.2-double-14 FAILED
tests/jls/lexical-structure/literals/integer-literals
==== 3.10.1-invalid-2 decimal larger than 2147483648 is not an int FAILED
==== Contents of test case:
literal T3101i2 12345678901
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.1-invalid-2 FAILED
==== 3.10.1-invalid-3 octal larger than 037777777777 is not an int FAILED
==== Contents of test case:
literal T3101i3 040000000000
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.1-invalid-3 FAILED
==== 3.10.1-invalid-4 hex larger than 0xffffffff is not an int FAILED
==== Contents of test case:
literal T3101i4 0x123456789
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.1-invalid-4 FAILED
==== 3.10.1-invalid-6 decimal larger than 9223372036854775808L is not an int FAILED
==== Contents of test case:
literal T3101i6 12345678901234567890L
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.1-invalid-6 FAILED
==== 3.10.1-invalid-7 octal larger than 01777777777777777777777L is not an int FAILED
==== Contents of test case:
literal T3101i7 02000000000000000000000L
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.1-invalid-7 FAILED
==== 3.10.1-invalid-8 hex larger than 0xffffffffffffffffL is not an int FAILED
==== Contents of test case:
literal T3101i8 0x123456789abcdef01L
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.1-invalid-8 FAILED
==== 3.10.1-invalid-9 octal cannot contain '9' FAILED
==== Contents of test case:
literal T3101i9 09
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.1-invalid-9 FAILED
==== 3.10.1-invalid-12 0x must be followed by digits FAILED
==== Contents of test case:
literal T3101i12 0x
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.1-invalid-12 FAILED
==== 3.10.1-invalid-13 0x must be followed by digits FAILED
==== Contents of test case:
literal T3101i13 0xL
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.1-invalid-13 FAILED
tests/jls/lexical-structure/literals/string-literals
==== 3.10.5-invalid-1 A StringCharacter cannot be " FAILED
==== Contents of test case:
literal T3105i1 {"}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.5-invalid-1 FAILED
==== 3.10.5-invalid-2 A StringCharacter cannot be " FAILED
==== Contents of test case:
literal T3105i2 {\u0022}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.5-invalid-2 FAILED
==== 3.10.5-invalid-3 A StringCharacter cannot be \ FAILED
==== Contents of test case:
literal T3105i3 \\
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.5-invalid-3 FAILED
==== 3.10.5-invalid-4 A StringCharacter cannot be \ FAILED
==== Contents of test case:
literal T3105i4 {\u005c}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.5-invalid-4 FAILED
==== 3.10.5-invalid-5 A LineTerminator is not an InputCharacter FAILED
==== Contents of test case:
literal T3105i5 \r
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.5-invalid-5 FAILED
==== 3.10.5-invalid-6 A LineTerminator is not an InputCharacter FAILED
==== Contents of test case:
literal T3105i6 \n
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.5-invalid-6 FAILED
==== 3.10.5-invalid-7 A LineTerminator is not an InputCharacter FAILED
==== Contents of test case:
literal T3105i7 \r\n
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.5-invalid-7 FAILED
==== 3.10.5-invalid-8 A LineTerminator is not an InputCharacter FAILED
==== Contents of test case:
literal T3105i8 {\u000d}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.5-invalid-8 FAILED
==== 3.10.5-invalid-9 A LineTerminator is not an InputCharacter FAILED
==== Contents of test case:
literal T3105i9 {\u000a}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.5-invalid-9 FAILED
==== 3.10.5-invalid-10 A LineTerminator is not an InputCharacter FAILED
==== Contents of test case:
literal T3105i10 {\u000d\u000a}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.5-invalid-10 FAILED
==== 3.10.5-invalid-11 " must be terminated with " FAILED
==== Contents of test case:
compile [saveas T3105i11.java {class T3105i11 {String s = ";}}]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.5-invalid-11 FAILED
==== 3.10.5-invalid-12 EOF inside "" FAILED
==== Contents of test case:
compile [saveas T3105i12.java "class T3105i12 \{String s = \""]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.5-invalid-12 FAILED
==== 3.10.5-invalid-13 EOF inside "" FAILED
==== Contents of test case:
compile [saveas T3105i13.java "class T3105i13 \{String s = \"\\"]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.10.5-invalid-13 FAILED
tests/jls/lexical-structure/unicode
tests/jls/lexical-structure/unicode-escapes
==== 3.3-invalid-1 A unicode sequence must have four hex digits FAILED
==== Contents of test case:
compile [saveas T33i1.java {class T33i1 { char c = '\u20'; }}]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.3-invalid-1 FAILED
==== 3.3-invalid-2 A unicode sequence does not recursively
form more unicode sequences FAILED
==== Contents of test case:
compile [saveas T33i2.java {
class T33i2 {
String s = "\u005cu005a"; // this sequence is not 'z'
}
}]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.3-invalid-2 FAILED
==== 3.3-invalid-3 An even number of \ never form a
unicode escape FAILED
==== Contents of test case:
compile [saveas T33i3.java {class T33i3 {}/* \\u002a/}]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.3-invalid-3 FAILED
==== 3.3-invalid-4 Unicode escapes begin with 'u' only FAILED
==== Contents of test case:
compile [saveas T33i4.java {class T33i4{ char c = '\Uabcd'; }}]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.3-invalid-4 FAILED
==== 3.3-invalid-5 Test unicode escape cut short by file end FAILED
==== Contents of test case:
compile [saveas T33i5.java {class T33i5{} \u}]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.3-invalid-5 FAILED
==== 3.3-invalid-6 Test unicode escape cut short by file end FAILED
==== Contents of test case:
compile [saveas T33i6.java {class T33i6{} \uuuua}]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.3-invalid-6 FAILED
==== 3.3-invalid-7 Test unicode escape cut short by file end FAILED
==== Contents of test case:
compile [saveas T33i7.java {class T33i7{} \u0a}]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.3-invalid-7 FAILED
==== 3.3-invalid-8 Test unicode escape cut short by file end FAILED
==== Contents of test case:
compile [saveas T33i8.java {class T33i8{} \u00a}]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.3-invalid-8 FAILED
tests/jls/lexical-structure/white-space
==== 3.6-invalid-1 Vertical tab (Ctrl-K) '\v' is not whitespace FAILED
==== Contents of test case:
whitespace T36i1 \v
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.6-invalid-1 FAILED
==== 3.6-invalid-2 Vertical tab (Ctrl-K) '\u000b' is not whitespace FAILED
==== Contents of test case:
whitespace T36i2 {\u000b}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.6-invalid-2 FAILED
==== 3.6-invalid-10 Ascii separators '\u001c'-'\u001f' are not
whitespace FAILED
==== Contents of test case:
whitespace T36i10 {\u001c}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.6-invalid-10 FAILED
==== 3.6-invalid-11 Unicode whitespace is not always Java
whitespace FAILED
==== Contents of test case:
whitespace T36i11 {\u00a1}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.6-invalid-11 FAILED
==== 3.6-invalid-12 Unicode whitespace is not always Java
whitespace FAILED
==== Contents of test case:
whitespace T36i12 {\u2008}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.6-invalid-12 FAILED
==== 3.6-invalid-13 Unicode line separators are not whitespace FAILED
==== Contents of test case:
whitespace T36i13 {\u2028}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.6-invalid-13 FAILED
==== 3.6-invalid-14 Unicode paragraph separators are not
whitespace FAILED
==== Contents of test case:
whitespace T36i14 {\u2029}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 3.6-invalid-14 FAILED
tests/jls/names/access-control/details-on-protected-access/protected-constructor
tests/jls/names/access-control/details-on-protected-access/protected-member
tests/jls/names/access-control/determining-accessibility
tests/jls/names/meaning-of-a-name/expression-names/qualified
tests/jls/names/meaning-of-a-name/expression-names/simple
==== 6.5.6.1-field-5 If a simple expression name is not in the
scope of a local variable or parameter, it must represent a single
accessible field of the innermost type with the field FAILED
==== Contents of test case:
empty_class T6561f5 {
class C {
int i;
}
interface I {
int i = 1;
}
class Sub extends C implements I {
int j = i; // i is ambiguous between C.i, I.i
}
}
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 6.5.6.1-field-5 FAILED
==== 6.5.6.1-explicit-constructor-5 Cannot access instance fields
from this class within an explicit constructor FAILED
==== Contents of test case:
compile [saveas p1/T6561ec5a.java {
package p1;
public class T6561ec5a {
int i;
class C extends p2.T6561ec5b {
C(int j) {}
C() {
// although c is a subclass of a, it does not inherit i, since
// its superclass is in a different package
this(i);
}
}
}
}] [saveas p2/T6561ec5b.java {
package p2;
public class T6561ec5b extends p1.T6561ec5a {}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 6.5.6.1-explicit-constructor-5 FAILED
tests/jls/names/meaning-of-a-name/method-names/qualified
tests/jls/names/meaning-of-a-name/method-names/simple
tests/jls/names/meaning-of-a-name/package-names/qualified
tests/jls/names/meaning-of-a-name/package-names/simple
tests/jls/names/meaning-of-a-name/packageortypenames/qualified
tests/jls/names/meaning-of-a-name/packageortypenames/simple
==== 6.5.4.1-simple-3 If a simple package-or-type name is in the
scope of a type, it is reclassified as a type name FAILED
==== Contents of test case:
compile [saveas T6541s3.java {
// no types are in scope during an import statement, and there is no
import T6541s3.*; // package by this name
class T6541s3 {
class Inner {}
}
}]
---- Result was:
PASS
---- Result should have been:
FAIL
==== 6.5.4.1-simple-3 FAILED
tests/jls/names/meaning-of-a-name/reclassification
tests/jls/names/meaning-of-a-name/syntactic-classification
tests/jls/names/meaning-of-a-name/type-names/qualified
tests/jls/names/meaning-of-a-name/type-names/simple
==== 6.5.5.1-nested-23 A simple type name must not have ambiguity in
referring to visible member types FAILED
==== Contents of test case:
compile [saveas p1/T6551n23c.java {
package p1;
class T6551n23a {
class C {
public static final int i = 1;
}
}
interface T6551n23b {
class C {
public static final int i = 2;
}
}
public class T6551n23c extends T6551n23a implements T6551n23b {}
}] [saveas T6551n23d.java {
class T6551n23d extends p1.T6551n23c {
void m(int i) {
switch (i) {
case 1:
case C.i: // a.C.i is not accessible, so this is b.C.i == 2
}
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 6.5.5.1-nested-23 FAILED
tests/jls/names/members-and-inheritance/members-of-a-class-type
==== 6.4.2-1 interface member reference can not be ambiguous FAILED
==== Contents of test case:
saveas AmbiguousInterfaceMember.java {
interface One {
int VAL = 1;
}
interface Two {
int VAL = 2;
}
class AmbiguousInterfaceMember implements One, Two {
int i = VAL;
}
}
compile AmbiguousInterfaceMember.java
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 6.4.2-1 FAILED
tests/jls/names/members-and-inheritance/members-of-a-package
tests/jls/names/members-and-inheritance/members-of-an-array-type
tests/jls/names/members-and-inheritance/members-of-an-interface-type
==== 6.4.3-1 interface member reference can not be ambiguous FAILED
==== Contents of test case:
saveas AmbiguousExtendedInterfaceMember.java {
interface One {
int VAL = 1;
}
interface Two {
int VAL = 2;
}
interface AmbiguousExtendedInterfaceMember extends One, Two {
int i = VAL;
}
}
compile AmbiguousExtendedInterfaceMember.java
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 6.4.3-1 FAILED
tests/jls/names/names-and-identifiers
tests/jls/names/scope-of-a-declaration
tests/jls/packages/compilation-units
tests/jls/packages/import-declarations/automatic-imports
tests/jls/packages/import-declarations/single-type-import-declaration
==== 7.5.1-canonical-2 Imports use the canonical name, even if a
prefix name exists in the current package or prior import FAILED
==== Contents of test case:
compile [saveas T751c2/Sub/T751c2a.java {
package T751c2.Sub;
public class T751c2a {}
}] [saveas T751c2/T751c2.java {
package T751c2;
import T751c2.Sub.T751c2a;
public class T751c2 extends T751c2a {}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 7.5.1-canonical-2 FAILED
==== 7.5.1-duplicate-1 Importing the same class twice is legal FAILED
==== Contents of test case:
compile [saveas p1/T751d1a.java {
package p1;
public class T751d1a {}
}] [saveas T751d1b.java {
import p1.T751d1a;
import p1.T751d1a;
class T751d1b extends T751d1a {}
}]
---- Result was:
WARN
---- Result should have been:
PASS
==== 7.5.1-duplicate-1 FAILED
==== 7.5.1-duplicate-4 It is legal to import the class being
declared in a compilation unit FAILED
==== Contents of test case:
ok_pass_or_warn [compile [saveas p1/T751d4a.java {
package p1;
import p1.T751d4a;
public class T751d4a {}
}]]
---- Result was:
COREDUMP
---- Result should have been:
OK
==== 7.5.1-duplicate-4 FAILED
tests/jls/packages/import-declarations/strange-example
tests/jls/packages/import-declarations/type-import-on-demand-declaration
==== 7.5.2-canonical-2 Imports use the canonical name, even if a
prefix name exists in the current package or prior import FAILED
==== Contents of test case:
compile [saveas T752c2/Sub/T752c2a.java {
package T752c2.Sub;
public class T752c2a {}
}] [saveas T752c2/T752c2.java {
package T752c2;
import T752c2.Sub.*;
public class T752c2 extends T752c2a {}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 7.5.2-canonical-2 FAILED
==== 7.5.2-accessible-1 It is an error for an import statement to
mention an inaccessible type or package FAILED
==== Contents of test case:
compile [saveas T752a1.java {
import non_existant_package.*;
class T752a1 {}
}]
---- Result was:
PASS
---- Result should have been:
FAIL
==== 7.5.2-accessible-1 FAILED
tests/jls/packages/package-declarations/named-packages
tests/jls/packages/package-declarations/unnamed-packages
==== 7.4.2-1 Create a public class in the default package FAILED
==== Contents of test case:
compile [saveas T742_1a.java {
public class T742_1a {}
class T742_1b extends T742_1a {}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 7.4.2-1 FAILED
==== 7.4.2-2 Extend a class in the default package with
another class in default package FAILED
==== Contents of test case:
saveas T742_2a.java "class T742_2a {}"
compile [saveas T742_2b.java {
class T742_2b extends T742_2a {}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 7.4.2-2 FAILED
==== 7.4.2-3 Extend a class in the default package with
another class in default package FAILED
==== Contents of test case:
compile [saveas T742_3a.java "class T742_3a {}"]
delete T742_3a.java
compile -classpath . [saveas T742_3b.java {
class T742_3b extends T742_3a {}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 7.4.2-3 FAILED
==== 7.4.2-subpackage-1 the unnamed package has no subpackages.
Therefore, in a compilation unit in the unnamed package, a member type
does not conflict with named packages FAILED
==== Contents of test case:
compile [saveas java.java "class java {}"]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 7.4.2-subpackage-1 FAILED
==== 7.4.2-subpackage-2 the unnamed package has no subpackages.
Therefore, in a compilation unit in the unnamed package, a member type
does not conflict with named packages FAILED
==== Contents of test case:
compile [saveas p1.java "class p1 {}"] [saveas p1/T742s2.java {
package p1;
class T742s2 {}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 7.4.2-subpackage-2 FAILED
tests/jls/packages/package-members
tests/jls/packages/top-level-type-declarations
tests/jls/types-values-and-variables/variables/final-variables
tests/jvms/class-file-format/attributes/deprecated-attribute
==== 4.7.10-jvms-class-6 Test that a class can be deprecated FAILED
==== Contents of test case:
compile [saveas T4710jc6a.java {
/**
@deprecated
*/
; // oops, must be directly before class
class T4710jc6a {}
}]
delete T4710jc6a.java
list [compile -classpath . -deprecation [saveas T4710jc6b.java {
class T4710jc6b extends T4710jc6a {}
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-class-6 FAILED
==== 4.7.10-jvms-class-7 Test that a class can be deprecated FAILED
==== Contents of test case:
compile [saveas T4710jc7a.java {
/**
@deprecated
*/
import java.lang.*; // oops, must be directly before class
class T4710jc7a {}
}]
delete T4710jc7a.java
list [compile -classpath . -deprecation [saveas T4710jc7b.java {
class T4710jc7b extends T4710jc7a {}
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-class-7 FAILED
==== 4.7.10-jvms-class-8 Test that a class can be deprecated FAILED
==== Contents of test case:
compile [saveas T4710jc8a.java {
public
/** oops - too late
* @deprecated */
class T4710jc8a {}
}]
delete T4710jc8a.java
list [compile -classpath . -deprecation [saveas T4710jc8b.java {
class T4710jc8b extends T4710jc8a {}
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-class-8 FAILED
==== 4.7.10-jvms-class-9 Test that a class can be deprecated FAILED
==== Contents of test case:
compile [saveas T4710jc9a.java {
/** characters besides whitespace or * before @ deactivate tag @deprecated */
class T4710jc9a {}
}]
delete T4710jc9a.java
list [compile -classpath . -deprecation [saveas T4710jc9b.java {
class T4710jc9b extends T4710jc9a {}
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-class-9 FAILED
==== 4.7.10-jvms-class-15 Test that a class can be deprecated FAILED
==== Contents of test case:
compile [saveas T4710jc15a.java {
/** @deprecated */
/** Only the most recent doc comment applies */
class T4710jc15a {}
}]
delete T4710jc15a.java
list [compile -classpath . -deprecation [saveas T4710jc15b.java {
class T4710jc15b extends T4710jc15a {}
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-class-15 FAILED
==== 4.7.10-jvms-class-16 Test that a class can be deprecated FAILED
==== Contents of test case:
compile [saveas T4710jc16a.java {
/** @deprecated */
/**/ // degenerate doc comment; only most recent one applies
class T4710jc16a {}
}]
delete T4710jc16a.java
list [compile -classpath . -deprecation [saveas T4710jc16b.java {
class T4710jc16b extends T4710jc16a {}
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-class-16 FAILED
==== 4.7.10-jvms-class-18 Test that a class can be deprecated FAILED
==== Contents of test case:
compile [saveas p1/T4710jc18a.java {
package p1;
/** @deprecated */
public class T4710jc18a {
public static class Inner {}
}
}]
delete p1/T4710jc18a.java
list [compile -classpath . -deprecation [saveas T4710jc18b.java {
import p1.T4710jc18a.*;
class T4710jc18b extends Inner {}
}]] [match_err_or_warn {*depreca*}]
---- Result was:
FAIL 1
---- Result should have been:
WARN 1
==== 4.7.10-jvms-class-18 FAILED
==== 4.7.10-jvms-method-6 Test that a method can be deprecated FAILED
==== Contents of test case:
empty_class T4710jm6a {
/**
@deprecated
*/
; // oops, must be directly before method
static int m() { return 1; }
}
delete T4710jm6a.java
list [compile -classpath . -deprecation [saveas T4710jm6b.java {
class T4710jm6b { int i = T4710jm6a.m(); }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-method-6 FAILED
==== 4.7.10-jvms-method-7 Test that a method can be deprecated FAILED
==== Contents of test case:
empty_class T4710jm7a {
/**
@deprecated
*/
int j; // oops, must be directly before method
static int m() { return 1; }
}
delete T4710jm7a.java
list [compile -classpath . -deprecation [saveas T4710jm7b.java {
class T4710jm7b { int i = T4710jm7a.m(); }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-method-7 FAILED
==== 4.7.10-jvms-method-8 Test that a method can be deprecated FAILED
==== Contents of test case:
empty_class T4710jm8a {
public
/** oops - too late
* @deprecated */
static int m() { return 1; }
}
delete T4710jm8a.java
list [compile -classpath . -deprecation [saveas T4710jm8b.java {
class T4710jm8b { int i = T4710jm8a.m(); }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-method-8 FAILED
==== 4.7.10-jvms-method-9 Test that a method can be deprecated FAILED
==== Contents of test case:
empty_class T4710jm9a {
/** characters besides whitespace or * before @ deactivate tag @deprecated */
static int m() { return 1; }
}
delete T4710jm9a.java
list [compile -classpath . -deprecation [saveas T4710jm9b.java {
class T4710jm9b { int i = T4710jm9a.m(); }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-method-9 FAILED
==== 4.7.10-jvms-method-11 Test that a method can be deprecated FAILED
==== Contents of test case:
empty_class T4710jm11a {
/** @deprecated */
/** Only the most recent doc comment applies */
static int m() { return 1; }
}
delete T4710jm11a.java
list [compile -classpath . -deprecation [saveas T4710jm11b.java {
class T4710jm11b { int i = T4710jm11a.m(); }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-method-11 FAILED
==== 4.7.10-jvms-method-12 Test that a method can be deprecated FAILED
==== Contents of test case:
empty_class T4710jm12a {
/** @deprecated */
/**/ // degenerate doc comment; only most recent one applies
static int m() { return 1; }
}
delete T4710jm12a.java
list [compile -classpath . -deprecation [saveas T4710jm12b.java {
class T4710jm12b { int i = T4710jm12a.m(); }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-method-12 FAILED
==== 4.7.10-jvms-constructor-6 Test that a constructor can be
deprecated FAILED
==== Contents of test case:
empty_class T4710jcon6a {
/**
@deprecated
*/
; // oops, must be directly before constructor
T4710jcon6a() {}
}
delete T4710jcon6a.java
list [compile -classpath . -deprecation [saveas T4710jcon6b.java {
class T4710jcon6b { { new T4710jcon6a(); } }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-constructor-6 FAILED
==== 4.7.10-jvms-constructor-7 Test that a constructor can be
deprecated FAILED
==== Contents of test case:
empty_class T4710jcon7a {
/**
@deprecated
*/
int i; // oops, must be directly before constructor
T4710jcon7a() {}
}
delete T4710jcon7a.java
list [compile -classpath . -deprecation [saveas T4710jcon7b.java {
class T4710jcon7b { { new T4710jcon7a(); } }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-constructor-7 FAILED
==== 4.7.10-jvms-constructor-8 Test that a constructor can be
deprecated FAILED
==== Contents of test case:
empty_class T4710jcon8a {
public
/** oops - too late
* @deprecated */
T4710jcon8a() {}
}
delete T4710jcon8a.java
list [compile -classpath . -deprecation [saveas T4710jcon8b.java {
class T4710jcon8b { { new T4710jcon8a(); } }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-constructor-8 FAILED
==== 4.7.10-jvms-constructor-9 Test that a constructor can be
deprecated FAILED
==== Contents of test case:
empty_class T4710jcon9a {
/** characters besides whitespace or * before @ deactivate tag @deprecated */
T4710jcon9a() {}
}
delete T4710jcon9a.java
list [compile -classpath . -deprecation [saveas T4710jcon9b.java {
class T4710jcon9b { { new T4710jcon9a(); } }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-constructor-9 FAILED
==== 4.7.10-jvms-constructor-13 Test that a constructor can be
deprecated FAILED
==== Contents of test case:
empty_class T4710jcon13a {
/** @deprecated */
/** Only the most recent doc comment applies */
T4710jcon13a() {}
}
delete T4710jcon13a.java
list [compile -classpath . -deprecation [saveas T4710jcon13b.java {
class T4710jcon13b { { new T4710jcon13a() {}; } }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-constructor-13 FAILED
==== 4.7.10-jvms-constructor-14 Test that a constructor can be
deprecated FAILED
==== Contents of test case:
empty_class T4710jcon14a {
/** @deprecated */
/**/ // degenerate doc comment; only most recent one applies
T4710jcon14a() {}
}
delete T4710jcon14a.java
list [compile -classpath . -deprecation [saveas T4710jcon14b.java {
class T4710jcon14b { { new T4710jcon14a() {}; } }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-constructor-14 FAILED
==== 4.7.10-jvms-field-6 Test that a field can be deprecated FAILED
==== Contents of test case:
empty_class T4710jf6a {
/**
@deprecated
*/
; // oops, must be directly before field
static int i;
}
delete T4710jf6a.java
list [compile -classpath . -deprecation [saveas T4710jf6b.java {
class T4710jf6b { int i = T4710jf6a.i; }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-field-6 FAILED
==== 4.7.10-jvms-field-7 Test that a field can be deprecated FAILED
==== Contents of test case:
empty_class T4710jf7a {
/**
@deprecated
*/
int j; // oops, must be directly before field
static int i;
}
delete T4710jf7a.java
list [compile -classpath . -deprecation [saveas T4710jf7b.java {
class T4710jf7b { int i = T4710jf7a.i; }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-field-7 FAILED
==== 4.7.10-jvms-field-8 Test that a field can be deprecated FAILED
==== Contents of test case:
empty_class T4710jf8a {
public
/** oops - too late
* @deprecated */
static int i;
}
delete T4710jf8a.java
list [compile -classpath . -deprecation [saveas T4710jf8b.java {
class T4710jf8b { int i = T4710jf8a.i; }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-field-8 FAILED
==== 4.7.10-jvms-field-9 Test that a field can be deprecated FAILED
==== Contents of test case:
empty_class T4710jf9a {
/** characters besides whitespace or * before @ deactivate tag @deprecated */
static int i;
}
delete T4710jf9a.java
list [compile -classpath . -deprecation [saveas T4710jf9b.java {
class T4710jf9b { int i = T4710jf9a.i; }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-field-9 FAILED
==== 4.7.10-jvms-field-12 Test that a field can be deprecated FAILED
==== Contents of test case:
empty_class T4710jf12a {
/** @deprecated */
/** Only the most recent doc comment applies */
static int i;
}
delete T4710jf12a.java
list [compile -classpath . -deprecation [saveas T4710jf12b.java {
class T4710jf12b { int i = T4710jf12a.i; }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-field-12 FAILED
==== 4.7.10-jvms-field-13 Test that a field can be deprecated FAILED
==== Contents of test case:
empty_class T4710jf13a {
/** @deprecated */
/**/ // degenerate doc comment; only most recent one applies
static int i;
}
delete T4710jf13a.java
list [compile -classpath . -deprecation [saveas T4710jf13b.java {
class T4710jf13b { int i = T4710jf13a.i; }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-field-13 FAILED
==== 4.7.10-jvms-lex-1 Test lexing of deprecated FAILED
==== Contents of test case:
empty_class T4710jl1a {
/** / before tag disables tag (except starting /**)
/* @deprecated */
static int i;
/**
/** @deprecated */
static int j;
}
delete T4710j1a.java
list [compile -classpath . -deprecation [saveas T4710jl1b.java {
class T4710jl1b { int i = T4710jl1a.i + T4710jl1a.j; }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-lex-1 FAILED
==== 4.7.10-jvms-lex-2 Test lexing of deprecated FAILED
==== Contents of test case:
empty_class T4710jl2a {
/** whitespace excludes < \u0009, > \u000d
* @deprecated\u0008 */
static int i;
/** @deprecated\u000e */
static int j;
}
delete T4710j2a.java
list [compile -classpath . -deprecation [saveas T4710jl2b.java {
class T4710jl2b { int i = T4710jl2a.i + T4710jl2a.j; }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-lex-2 FAILED
==== 4.7.10-jvms-lex-3 Test lexing of deprecated FAILED
==== Contents of test case:
empty_class T4710jl3a {
/** whitespace excludes < \u001c, > \u0020
* @deprecated\u001b */
static int i;
/** @deprecated\u0021 */
static int j;
}
delete T4710j3a.java
list [compile -classpath . -deprecation [saveas T4710jl3b.java {
class T4710jl3b { int i = T4710jl3a.i + T4710jl3a.j; }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-lex-3 FAILED
==== 4.7.10-jvms-lex-4 Test lexing of deprecated FAILED
==== Contents of test case:
empty_class T4710jl4a {
/** whitespace excludes \u00a0, \u2007, \u202f
* @deprecated\u00a0 */
static int i;
/** @deprecated\u2007 */
static int j;
/** @deprecated\u202f */
static int k;
}
delete T4710j4a.java
list [compile -classpath . -deprecation [saveas T4710jl4b.java {
class T4710jl4b { int i = T4710jl4a.i + T4710jl4a.j + T4710jl4a.k; }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-lex-4 FAILED
==== 4.7.10-jvms-lex-5 Test lexing of deprecated FAILED
==== Contents of test case:
empty_class T4710jl5a {
/** only Character.isSpace() may appear before @ sign
* \u000b @deprecated */
static int i;
/** \u001e @deprecated */
static int j;
/** \u2028 @deprecated */
static int k;
}
delete T4710j5a.java
list [compile -classpath . -deprecation [saveas T4710jl5b.java {
class T4710jl5b { int i = T4710jl5a.i + T4710jl5a.j + T4710jl5a.k; }
}]] [match_err_or_warn {*depreca*}]
---- Result was:
WARN 1
---- Result should have been:
PASS 0
==== 4.7.10-jvms-lex-5 FAILED
tests/jvms/class-file-format/limitations
==== 4.10-jvms-18 Strings that occupy more than 65535 UTF8
bytes do not fit in the constant pool FAILED
==== Contents of test case:
set buff ""
append buff "class T410jvms18 \{\n"
append buff "\tint a"
set over 21845
for {set i 0} {$i < $over} {incr i} {
append buff "\\ufffb"
}
append buff " = 1;\n"
append buff "\tpublic static void main(String\[\] args) \{\}\n\}\n"
compile [saveas T410jvms18.java $buff]
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== 4.10-jvms-18 FAILED
tests/non-jls/argument-expansion
==== non-jls-argument-expansion-11 Expand empty @ argument.
this will terminate without doing anything for JDK 1.3
compatibility FAILED
==== Contents of test case:
saveas list11 ""
compile @list11
---- Result was:
FAIL
---- Result should have been:
PASS
==== non-jls-argument-expansion-11 FAILED
==== non-jls-argument-expansion-12 Expand empty @ argument
FAILED
==== Contents of test case:
saveas list12 "\n\n"
compile @list12
---- Result was:
FAIL
---- Result should have been:
PASS
==== non-jls-argument-expansion-12 FAILED
==== non-jls-argument-expansion-tokens-1 Two files on
the same line are NOT parsed as two tokens FAILED
==== Contents of test case:
saveas tokens1 "C1.java C2.java"
compile @tokens1
---- Result was:
PASS
---- Result should have been:
FAIL
==== non-jls-argument-expansion-tokens-1 FAILED
tests/non-jls/assert/definite-assignment
==== non-jls-jsr41.4-definite-unassignment-fail-12 V is DU after
the assert iff V is DU after Expression1 when true and
V is DU before the assert FAILED
==== Contents of test case:
empty_main T414duf12 {
final boolean b;
b = true;
assert false : "";
b = true;
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== non-jls-jsr41.4-definite-unassignment-fail-12 FAILED
==== non-jls-jsr41.4-definite-unassignment-pass-9 V is DU after
the assert iff V is DU after Expression1 when true and
V is DU before the assert FAILED
==== Contents of test case:
empty_main T414dup9 {
final boolean b;
assert (b = true) && false;
b = true;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== non-jls-jsr41.4-definite-unassignment-pass-9 FAILED
==== non-jls-jsr41.4-definite-unassignment-try-5 V is DU before
a catch block iff V is DU before the try block and V is not reachably
assigned in the try block FAILED
==== Contents of test case:
empty_main T414dut5 {
final boolean b;
try {
assert false : b = true;
} catch (AssertionError e) {
b = false;
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== non-jls-jsr41.4-definite-unassignment-try-5 FAILED
==== non-jls-jsr41.4-definite-unassignment-try-6 V is DU before
a finally block iff V is DU before the try block and V is not
reachably assigned in the try or catch blocks FAILED
==== Contents of test case:
empty_main T414dut6 {
final boolean b;
try {
assert false : b = true;
} finally {
b = false;
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== non-jls-jsr41.4-definite-unassignment-try-6 FAILED
==== non-jls-jsr41.4-definite-unassignment-try-7 V is DU before
a finally block iff V is DU before the try block and V is not
reachably assigned in the try or catch blocks FAILED
==== Contents of test case:
empty_main T414dut7 {
final boolean b;
try {
throw new RuntimeException();
} catch (RuntimeException e) {
assert false : b = true;
} finally {
b = false;
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== non-jls-jsr41.4-definite-unassignment-try-7 FAILED
==== non-jls-jsr41.4-definite-unassignment-try-8 V is DU before
a finally block iff V is DU before the try block and V is not
reachably assigned in the try or catch blocks FAILED
==== Contents of test case:
empty_main T414dut8 {
final boolean b;
try {
assert false : b = true;
} catch (AssertionError e) {
} finally {
b = false;
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== non-jls-jsr41.4-definite-unassignment-try-8 FAILED
==== non-jls-jsr41.4-loop-4 v must not be multiply assigned in
loops FAILED
==== Contents of test case:
empty_main T414l4 {
final boolean b;
while (true)
assert b = true;
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== non-jls-jsr41.4-loop-4 FAILED
==== non-jls-jsr41.4-loop-5 v must not be multiply assigned in
loops FAILED
==== Contents of test case:
empty_main T414l5 {
for (final boolean b; ; )
assert b = true;
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== non-jls-jsr41.4-loop-5 FAILED
==== non-jls-jsr41.4-loop-6 v must not be multiply assigned in
loops FAILED
==== Contents of test case:
empty_main T414l6 {
final boolean b;
do
assert b = true;
while (true);
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== non-jls-jsr41.4-loop-6 FAILED
==== non-jls-jsr41.4-loop-16 v must not be multiply assigned in
loops FAILED
==== Contents of test case:
empty_main T414l16 {
final boolean b;
while (true) {
assert b = true;
assert false;
// even though an observer can prove that if b is assigned, the
// loop will complete abruptly, DU rules forbid this construct
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== non-jls-jsr41.4-loop-16 FAILED
==== non-jls-jsr41.4-loop-17 v must not be multiply assigned in
loops FAILED
==== Contents of test case:
empty_main T414l17 {
for (final boolean b; ; ) {
assert b = true;
assert false;
// even though an observer can prove that if b is assigned, the
// loop will complete abruptly, DU rules forbid this construct
}
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== non-jls-jsr41.4-loop-17 FAILED
==== non-jls-jsr41.4-loop-18 v must not be multiply assigned in
loops FAILED
==== Contents of test case:
empty_main T414l18 {
final boolean b;
do {
assert b = true;
assert false;
// even though an observer can prove that if b is assigned, the
// loop will complete abruptly, DU rules forbid this construct
} while (true);
}
---- Result was:
PASS
---- Result should have been:
FAIL
==== non-jls-jsr41.4-loop-18 FAILED
tests/non-jls/assert/syntax
==== non-jls-jsr41.2-clash-1 The synthetic name used by the compiler
should not clash with user names (if only the JLS would give compilers
a reserved namespace...) FAILED
==== Contents of test case:
ok_pass_or_warn [empty_class T412c1 {
int $assertionsDisabled = 1;
void foo() {
assert false : $assertionsDisabled + 1;
}
}]
---- Result was:
FAIL
---- Result should have been:
OK
==== non-jls-jsr41.2-clash-1 FAILED
tests/non-jls/encoding
==== non-jls-encoding-1 works with the
cp437 encoding FAILED
==== Contents of test case:
constant_encoded_expression E1 cp437 \x84 {\u00e4}
---- Result was:
FAIL
---- Result should have been:
PASS
==== non-jls-encoding-1 FAILED
==== non-jls-encoding-2 same character in
utf-8 FAILED
==== Contents of test case:
constant_encoded_expression E2 utf-8 \xC3\xA4 {\u00e4}
---- Result was:
FAIL
---- Result should have been:
PASS
==== non-jls-encoding-2 FAILED
==== non-jls-encoding-3 257 is out of the
ASCII range, but in 8859-1 it is defined as
lower case a with macron from Latin
Extended-A FAILED
==== Contents of test case:
constant_encoded_expression E3 ISO-8859-4 \xE0 {\u0101}
---- Result was:
FAIL
---- Result should have been:
PASS
==== non-jls-encoding-3 FAILED
==== non-jls-encoding-4 same character in
utf-8 FAILED
==== Contents of test case:
constant_encoded_expression E4 utf-8 \xC4\x81 {\u0101}
---- Result was:
FAIL
---- Result should have been:
PASS
==== non-jls-encoding-4 FAILED
==== non-jls-encoding-5 65533 (FFFD) is the last
symbol in "Specials" category FAILED
==== Contents of test case:
constant_encoded_expression E5 utf-8 \xEF\xBF\xBD {\uFFFD}
---- Result was:
FAIL
---- Result should have been:
PASS
==== non-jls-encoding-5 FAILED
==== non-jls-encoding-6 Latin small letter e with
acute (233) is in the Latin-1 Suppliment FAILED
==== Contents of test case:
constant_encoded_expression E6 iso-8859-1 \xE9 {\u00E9}
---- Result was:
FAIL
---- Result should have been:
PASS
==== non-jls-encoding-6 FAILED
tests/non-jls/jsr-201/autoboxing-autounboxing
==== 201-assignment-conversion-boxing-boolean assignment-conversion-boxing boolean FAILED
==== Contents of test case:
empty_main AssignmentConversionBoxingBoolean {
boolean b = true;
Boolean B = b;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-boxing-boolean FAILED
==== 201-assignment-conversion-boxing-byte assignment-conversion-boxing byte FAILED
==== Contents of test case:
empty_main AssignmentConversionBoxingByte {
byte b = 0;
Byte B = b;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-boxing-byte FAILED
==== 201-assignment-conversion-boxing-short assignment-conversion-boxing short FAILED
==== Contents of test case:
empty_main AssignmentConversionBoxingShort {
short s = 0;
Short S = s;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-boxing-short FAILED
==== 201-assignment-conversion-boxing-character assignment-conversion-boxing character FAILED
==== Contents of test case:
empty_main AssignmentConversionBoxingCharacter {
char c = 0;
Character C = c;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-boxing-character FAILED
==== 201-assignment-conversion-boxing-integer assignment-conversion-boxing integer FAILED
==== Contents of test case:
empty_main AssignmentConversionBoxingInteger {
int i=0;
Integer I = i;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-boxing-integer FAILED
==== 201-assignment-conversion-boxing-long assignment-conversion-boxing long FAILED
==== Contents of test case:
empty_main AssignmentConversionBoxingLong {
long l = 0;
Long L = l;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-boxing-long FAILED
==== 201-assignment-conversion-boxing-float assignment-conversion-boxing float FAILED
==== Contents of test case:
empty_main AssignmentConversionBoxingFloat {
float p = 0;
Float r = p;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-boxing-float FAILED
==== 201-assignment-conversion-boxing-double assignment-conversion-boxing double FAILED
==== Contents of test case:
empty_main AssignmentConversionBoxingDouble {
double p = 0;
Double r = p;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-boxing-double FAILED
==== 201-assignment-conversion-unboxing-boolean assignment-conversion-unboxing boolean FAILED
==== Contents of test case:
empty_main AssignmentAutoUnboxingBoolean {
boolean b = new Boolean(true);
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-unboxing-boolean FAILED
==== 201-assignment-conversion-unboxing-byte assignment-conversion-unboxing byte FAILED
==== Contents of test case:
empty_main AssignmentAutoUnboxingByte {
byte b = new Byte("0");
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-unboxing-byte FAILED
==== 201-assignment-conversion-unboxing-short assignment-conversion-unboxing short FAILED
==== Contents of test case:
empty_main AssignmentAutoUnboxingShort {
short p = new Short("0");
p = new Byte("0");
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-unboxing-short FAILED
==== 201-assignment-conversion-unboxing-character assignment-conversion-unboxing character FAILED
==== Contents of test case:
empty_main AssignmentAutoUnboxingCharacter {
char p = new Character('0');
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-unboxing-character FAILED
==== 201-assignment-conversion-unboxing-integer assignment-conversion-unboxing integer FAILED
==== Contents of test case:
empty_main AssignmentAutoUnboxingInteger {
int p = new Integer("0");
p = new Character('0');
p = new Short("0");
p = new Byte("0");
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-unboxing-integer FAILED
==== 201-assignment-conversion-unboxing-long assignment-conversion-unboxing long FAILED
==== Contents of test case:
empty_main AssignmentAutoUnboxingLong {
long p = new Long("0");
p = new Integer("0");
p = new Character('0');
p = new Short("0");
p = new Byte("0");
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-unboxing-long FAILED
==== 201-assignment-conversion-unboxing-float assignment-conversion-unboxing float FAILED
==== Contents of test case:
empty_main AssignmentAutoUnboxingFloat {
float p = new Float("0");
p = new Long("0");
p = new Integer("0");
p = new Character('0');
p = new Short("0");
p = new Byte("0");
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-unboxing-float FAILED
==== 201-assignment-conversion-unboxing-double assignment-conversion-unboxing double FAILED
==== Contents of test case:
empty_main AssignmentAutoUnboxingDouble {
double p = new Double("0");
p = new Float("0");
p = new Long("0");
p = new Integer("0");
p = new Character('0');
p = new Short("0");
p = new Byte("0");
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-assignment-conversion-unboxing-double FAILED
==== 201-method-invocation-conversion-boxing-boolean method invocation contexts allow the use of a boxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionBoxingBoolean.java {
class MethodInvocationConversionBoxingBoolean {
void method(Boolean B) {}
void method_call(boolean b) {
method(b);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-boxing-boolean FAILED
==== 201-method-invocation-conversion-boxing-byte method invocation contexts allow the use of a boxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionBoxingByte.java {
class MethodInvocationConversionBoxingByte {
void method(Byte B) {}
void method_call(byte b) {
method(b);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-boxing-byte FAILED
==== 201-method-invocation-conversion-boxing-character method invocation contexts allow the use of a boxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionBoxingCharacter.java {
class MethodInvocationConversionBoxingCharacter {
void method(Character C) {}
void method_call( char d) {
method(d);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-boxing-character FAILED
==== 201-method-invocation-conversion-boxing-short method invocation contexts allow the use of a boxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionBoxingShort.java {
class MethodInvocationConversionBoxingShort {
void method(Short r) {}
void method_call( short d) {
method(d);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-boxing-short FAILED
==== 201-method-invocation-conversion-boxing-integer method invocation contexts allow the use of a boxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionBoxingInteger.java {
class MethodInvocationConversionBoxingInteger {
void method(Integer r) {}
void method_call( int d) {
method(d);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-boxing-integer FAILED
==== 201-method-invocation-conversion-boxing-long method invocation contexts allow the use of a boxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionBoxingLong.java {
class MethodInvocationConversionBoxingLong {
void method(Long r) {}
void method_call( long d) {
method(d);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-boxing-long FAILED
==== 201-method-invocation-conversion-boxing-float method invocation contexts allow the use of a boxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionBoxingFloat.java {
class MethodInvocationConversionBoxingFloat {
void method(Float r) {}
void method_call( float d) {
method(d);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-boxing-float FAILED
==== 201-method-invocation-conversion-boxing-double method invocation contexts allow the use of a boxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionBoxingDouble.java {
class MethodInvocationConversionBoxingDouble {
void method(Double r) {}
void method_call( double d) {
method(d);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-boxing-double FAILED
==== 201-method-invocation-conversion-unboxing-boolean method invocation contexts allow the use of an unboxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionUnBoxingBoolean.java {
class MethodInvocationConversionUnBoxingBoolean {
void method(boolean p) {}
void method_call(Boolean r) {
method(r);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-unboxing-boolean FAILED
==== 201-method-invocation-conversion-unboxing-byte method invocation contexts allow the use of an unboxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionUnBoxingByte.java {
class MethodInvocationConversionUnBoxingByte {
void method(byte p) {}
void method_call(Byte r) {
method(r);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-unboxing-byte FAILED
==== 201-method-invocation-conversion-unboxing-short method invocation contexts allow the use of an unboxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionUnBoxingShort.java {
class MethodInvocationConversionUnBoxingShort {
void method(short p) {}
void method_call( Short r2,
Byte r1 )
{
method(r1);
method(r2);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-unboxing-short FAILED
==== 201-method-invocation-conversion-unboxing-character method invocation contexts allow the use of an unboxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionUnBoxingCharacter.java {
class MethodInvocationConversionUnBoxingCharacter {
void method(char p) {}
void method_call( Character r) {
method(r);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-unboxing-character FAILED
==== 201-method-invocation-conversion-unboxing-integer method invocation contexts allow the use of an unboxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionUnBoxingInteger.java {
class MethodInvocationConversionUnBoxingInteger {
void method(int p) {}
void method_call( Integer r4,
Character r3,
Short r2,
Byte r1 )
{
method(r1);
method(r2);
method(r3);
method(r4);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-unboxing-integer FAILED
==== 201-method-invocation-conversion-unboxing-long method invocation contexts allow the use of an unboxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionUnBoxingLong.java {
class MethodInvocationConversionUnBoxingLong {
void method(long p) {}
void method_call( Long r5,
Integer r4,
Character r3,
Short r2,
Byte r1 )
{
method(r1);
method(r2);
method(r3);
method(r4);
method(r5);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-unboxing-long FAILED
==== 201-method-invocation-conversion-unboxing-float method invocation contexts allow the use of an unboxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionUnBoxingFloat.java {
class MethodInvocationConversionUnBoxingFloat {
void method(float p) {}
void method_call( Float r6,
Long r5,
Integer r4,
Character r3,
Short r2,
Byte r1 )
{
method(r1);
method(r2);
method(r3);
method(r4);
method(r5);
method(r6);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-unboxing-float FAILED
==== 201-method-invocation-conversion-unboxing-double method invocation contexts allow the use of an unboxing conversion FAILED
==== Contents of test case:
compile [ saveas MethodInvocationConversionUnBoxingDouble.java {
class MethodInvocationConversionUnBoxingDouble {
void method(double p) {}
void method_call( Double r7,
Float r6,
Long r5,
Integer r4,
Character r3,
Short r2,
Byte r1 )
{
method(r1);
method(r2);
method(r3);
method(r4);
method(r5);
method(r6);
method(r7);
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-method-invocation-conversion-unboxing-double FAILED
tests/non-jls/jsr-201/enhanced-for-loops
==== 201-enhanced-for-Iterable enhanced for loop for Iterable FAILED
==== Contents of test case:
empty_main EnhancedForIterable {
java.lang.Iterable i = null;
for (Object o : i) ;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-enhanced-for-Iterable FAILED
==== 201-enhanced-for-int-array enhanced for loop for int array FAILED
==== Contents of test case:
empty_main EnhancedForIntArrays {
int[] a = null;
for (int i : a) ;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-enhanced-for-int-array FAILED
==== 201-enhanced-for-assignment-conversion enhanced for loop for assignment conversion FAILED
==== Contents of test case:
empty_main EnhancedForAssignConv {
int[] a = null;
for (double d : a) ;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-enhanced-for-assignment-conversion FAILED
==== 201-enhanced-for-with-generics enhanced for loop for collection with generics FAILED
==== Contents of test case:
empty_main EnhancedForWithGenerics {
java.util.Collection<String> c = null;
for (String s : c) ;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-enhanced-for-with-generics FAILED
==== 201-enhanced-for-object enhanced for loop for collection need to be Object FAILED
==== Contents of test case:
empty_main EnhancedForObject {
java.util.Collection c = null;
for (Object o : c) ;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-enhanced-for-object FAILED
==== 201-enhanced-for-final enhanced for loop for allows final variables FAILED
==== Contents of test case:
empty_main EnhancedForFinal {
java.lang.Iterable i = null;
for (final Object o : i) ;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-enhanced-for-final FAILED
==== 201-enhanced-for-unboxing enhanced for loop for allows unboxing FAILED
==== Contents of test case:
empty_main EnhancedForUnboxing {
java.util.Collection<Double> c = null;
for (double d : c) ;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-enhanced-for-unboxing FAILED
==== 201-enhanced-for-unboxing-2 enhanced for loop for allows unboxing FAILED
==== Contents of test case:
empty_main EnhancedForUnboxing2 {
Double[] c = null;
for (double d : c) ;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-enhanced-for-unboxing-2 FAILED
==== 201-enhanced-for-boxing enhanced for loop for allows boxing FAILED
==== Contents of test case:
empty_main EnhancedForBoxing {
char[] c = null;
for (Character k : c) ;
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-enhanced-for-boxing FAILED
tests/non-jls/jsr-201/enumerations
==== 201.00-enumeration test enumeration FAILED
==== Contents of test case:
compile [saveas T00.java {
public enum T00 { C, D }
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201.00-enumeration FAILED
==== 201.01-enumeration extra semicolon allowed FAILED
==== Contents of test case:
compile [saveas T01.java {
public enum T01 { C, D; }
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201.01-enumeration FAILED
==== 201.02-enumeration Field declarations allowed FAILED
==== Contents of test case:
compile [saveas T02.java {
public enum T02 {
C, D;
int i=0;
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201.02-enumeration FAILED
==== 201.03-enumeration Method values FAILED
==== Contents of test case:
compile [saveas T03.java {
class T03 {
public enum Season { WINTER, SPRING, SUMMER, FALL }
public static void main(String[] args) {
Season[] s = Season.values();
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201.03-enumeration FAILED
==== 201.04-enumeration Enum with explicit constructor FAILED
==== Contents of test case:
compile [saveas T04.java {
enum T04 {
A(1), B(2), C(3);
T04(int value) { this.value = value; }
private final int value;
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201.04-enumeration FAILED
==== 201.05-enumeration Enum with switch FAILED
==== Contents of test case:
compile [saveas T05.java {
public enum T05 {
A, B;
static int intValue(T05 n) {
switch (n) {
case A: return 1;
case B: return 2;
default: return 0;
}
}
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201.05-enumeration FAILED
==== 201.06-enumeration Enum with constant-specific class bodies FAILED
==== Contents of test case:
compile [saveas T06.java {
enum T06 {
PLUS { double eval(double x, double y) { return x + y; } },
MINUS { double eval(double x, double y) { return x - y; } };
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201.06-enumeration FAILED
==== 203.08-enumeration Explicit declaration of the $VALUES field FAILED
==== Contents of test case:
compile [saveas T08.java {
enum T08 {
A, B, C;
private static final T08 $VALUES[] = null;
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 203.08-enumeration FAILED
==== 203.11-enumeration Only public and strictfp modifiers are allowed FAILED
==== Contents of test case:
compile [saveas T11.java {
public enum T11 { }
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 203.11-enumeration FAILED
==== 203.12-enumeration Only public and strictfp modifiers are allowed FAILED
==== Contents of test case:
compile [saveas T12.java {
strictfp enum T12 { }
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 203.12-enumeration FAILED
==== 203.12b-enumeration private modifier allowed in inner enums FAILED
==== Contents of test case:
compile [saveas T12b.java {
class T12b {
private enum E { }
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 203.12b-enumeration FAILED
==== 203.17-enumeration enum classes with abstract methods should have constants with class bodies that provide concrete implementations of these methods FAILED
==== Contents of test case:
compile [saveas T17.java {
enum T17 {
X { void foo() {} },
Y { void foo() {} };
abstract void foo();
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 203.17-enumeration FAILED
==== 201.21-enumeration extra comma allowed FAILED
==== Contents of test case:
compile [saveas T21.java {
public enum T21 { C, D, }
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201.21-enumeration FAILED
==== 201.22-enumeration extra comma and semicolon allowed FAILED
==== Contents of test case:
compile [saveas T22.java {
public enum T22 { C, D,; }
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201.22-enumeration FAILED
tests/non-jls/jsr-201/static-import
==== non-jls-static-import-1 single type static
import FAILED
==== Contents of test case:
compile [saveas TNSI1.java {
import static java.lang.Math.sin;
public class TNSI1 {
public double x(double arg) { return sin(arg); }
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== non-jls-static-import-1 FAILED
==== non-jls-static-import-7 single type static
import FAILED
==== Contents of test case:
compile [saveas TNSI7.java {
import static p1.TNSI7a.mem;
public class TNSI7 {
}
}] [saveas p1/TNSI7a.java {
package p1;
public class TNSI7a {
static class mem {
}
public static int mem;
static void mem() { }
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== non-jls-static-import-7 FAILED
==== non-jls-static-import-8 single type static
import FAILED
==== Contents of test case:
compile [saveas TNSI8.java {
import static p1.TNSI8a.mem;
public class TNSI8 {
int meth() { return mem(); }
}
}] [saveas p1/TNSI8a.java {
package p1;
public class TNSI8a {
public static int mem() { return 5; }
public static int mem(int x) { return x; }
}
}]
---- Result was:
FAIL
---- Result should have been:
PASS
==== non-jls-static-import-8 FAILED
tests/non-jls/jsr-201/varargs
==== 201-varargs-1 simple varargs test FAILED
==== Contents of test case:
empty_class V201T1 {
int v(int... args) { return args.length; }
int q() {
return v(0) + v(1, 2) + v(3, 4, 5, 'c');
}
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-varargs-1 FAILED
==== 201-varargs-2 simple varargs test FAILED
==== Contents of test case:
empty_class V201T2 {
int v(Object... args) { return args.length; }
int q() {
return v("hi", "bob") + v(new Object[] { "hi", "jane" });
}
}
---- Result was:
FAIL
---- Result should have been:
PASS
==== 201-varargs-2 FAILED
tests/non-jls/random-crashers
==== non-jls-random-crashers-2 Valid A refers to valid B refers to
syntax error C, jikes bug 3852 FAILED
==== Contents of test case:
saveas Tnjrc2A.java { class Tnjrc2A { { Tnjrc2B.c.m(); } } }
saveas Tnjrc2B.java { class Tnjrc2B { static Tnjrc2C c; } }
saveas Tnjrc2C.java { class Tnjrc2C { abstract m(); } }
compile Tnjrc2A.java
---- Result was:
COREDUMP
---- Result should have been:
FAIL
==== non-jls-random-crashers-2 FAILED
tests/non-jls/zip
==== non-jls-zip-4 ignore zip file that does not exist FAILED
==== Contents of test case:
saveas ZipNotThere.java {class ZipNotThere {}}
ok_pass_or_warn [compile -classpath ZipNotThere.zip ZipNotThere.java]
---- Result was:
FAIL
---- Result should have been:
OK
==== non-jls-zip-4 FAILED
tests/runtime
tests/runtime/jls/arrays/array-initializers
tests/runtime/jls/binary-compatibility/evolution-of-classes/final-fields-and-constants
tests/runtime/jls/binary-compatibility/form-of-binary
tests/runtime/jls/blocks-and-statements
tests/runtime/jls/blocks-and-statements/break-statement
tests/runtime/jls/blocks-and-statements/do-statement
tests/runtime/jls/blocks-and-statements/for-statement
tests/runtime/jls/blocks-and-statements/if-statement/if-then-else-statement
tests/runtime/jls/blocks-and-statements/if-statement/if-then-statement
tests/runtime/jls/blocks-and-statements/local-class-declarations
tests/runtime/jls/blocks-and-statements/switch-statement
tests/runtime/jls/blocks-and-statements/synchronized-statement
tests/runtime/jls/blocks-and-statements/try-statement/try-catch
tests/runtime/jls/blocks-and-statements/try-statement/try-catch-finally
tests/runtime/jls/blocks-and-statements/while-statement
tests/runtime/jls/classes/class-declaration/inner-classes-and-enclosing-instances
tests/runtime/jls/classes/constructor-declarations/constructor-access
tests/runtime/jls/classes/constructor-declarations/constructor-body
==== 8.8.5.1-runtime-super-1 A null qualifier must throw
a NullPointerException early FAILED
==== Contents of test case:
compile_and_run [saveas T8851rs1.java {
class T8851rs1 {
public static int value = 0;
class Inner {
Inner(int i) {}
}
static class Der extends Inner {
Der(T8851rs1 outer, int i) {
outer.super(value = ++i);
}
}
public static void main(String[] args) {
try {
new Der(null, 5);
} catch (NullPointerException npe) {
if (value == 0)
System.out.print("OK");
else
System.out.print("should throw NullPointerException before argument evaluation");
return;
}
System.out.print("should throw NullPointerException");
}
}
}]
---- Result was:
---- Result should have been:
OK
==== 8.8.5.1-runtime-super-1 FAILED
tests/runtime/jls/classes/constructor-declarations/constructor-modifiers
tests/runtime/jls/classes/constructor-declarations/default-constructor
tests/runtime/jls/classes/field-declarations
tests/runtime/jls/classes/method-declarations/inheritance-overriding-and-hiding
tests/runtime/jls/definite-assignment/anonymous-classes
tests/runtime/jls/execution/creation-of-new-class-instances
tests/runtime/jls/execution/initialization-of-classes-and-interfaces/detailed-initialization-procedure
tests/runtime/jls/execution/initialization-of-classes-and-interfaces/when-initialization-occurs
tests/runtime/jls/expressions/additive-operators/string-conversion
tests/runtime/jls/expressions/array-access-expressions/examples
tests/runtime/jls/expressions/assignment-operators/compound-assignment-operators
tests/runtime/jls/expressions/assignment-operators/simple-assignment-operator
tests/runtime/jls/expressions/class-instance-creation
tests/runtime/jls/expressions/class-instance-creation/run-time-evaluation
tests/runtime/jls/expressions/conditional-and-operator
tests/runtime/jls/expressions/conditional-operator
tests/runtime/jls/expressions/conditional-or-operator
tests/runtime/jls/expressions/constant-expression
tests/runtime/jls/expressions/equality-operators/reference-equality
tests/runtime/jls/expressions/field-access-expressions/accessing-superclass-members-using-super
tests/runtime/jls/expressions/field-access-expressions/using-a-primary
tests/runtime/jls/expressions/method-invocation-expressions/chosen-method-appropriate
tests/runtime/jls/expressions/method-invocation-expressions/determine-class-or-interface
tests/runtime/jls/expressions/method-invocation-expressions/runtime-evaluation/compute-target-reference
tests/runtime/jls/expressions/postfix-expressions
tests/runtime/jls/expressions/primary-expressions/qualified-this
tests/runtime/jls/expressions/relational-operators/type-comparison-operator-instanceof
tests/runtime/jls/expressions/unary-operators
tests/runtime/jls/lexical-structure/literals/character-literals
tests/runtime/jls/lexical-structure/literals/floating-point-literals
tests/runtime/jls/lexical-structure/literals/integer-literals
tests/runtime/jls/lexical-structure/literals/string-literals
tests/runtime/jvms/class-file-format/limitations
tests/runtime/non-jls/assert
gcjx: Total 5011 Passed 4479 Skipped 196 Failed 336
Number of tests skipped for each constraint:
2 !boxing
1 !jsr201
2 assert && runtime
1 gcj
43 jikes
1 pc
146 runtime