This is the mail archive of the gcc-testresults@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]