This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
java/6520: Mauve java.lang.Math.min compile failure
- From: mark at klomp dot org
- To: gcc-gnats at gcc dot gnu dot org
- Date: 30 Apr 2002 19:54:20 -0000
- Subject: java/6520: Mauve java.lang.Math.min compile failure
- Reply-to: mark at klomp dot org
>Number: 6520
>Category: java
>Synopsis: Mauve java.lang.Math.min compile failure
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Apr 30 12:56:02 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: mark@klomp.org
>Release: gcj 3.1
>Organization:
>Environment:
>Description:
Mauve gives the following failure.
FAIL: Compile gnu/testlet/java/lang/Math/min.o for
gnu.testlet.java.lang.Math.min
The verifier doesn't like the byte-code generated by gcj -C:
gnu/testlet/java/lang/Math/min.java: In class
`gnu.testlet.java.lang.Math.min':
gnu/testlet/java/lang/Math/min.java: In method
`gnu.testlet.java.lang.Math.min.test(gnu.testlet.TestHarness)':
gnu/testlet/java/lang/Math/min.java:30: verification error at PC=542
gnu/testlet/java/lang/Math/min.java:30: invalid argument type
gnu/testlet/java/lang/Math/min.java:30: Invalid multi-word value on type
stack
Running from bytecode doesn't work either since the libgcj verifier
finds the same error:
java.lang.VerifyError: verification failed at PC 542 in
gnu.testlet.java.lang.Math.min:test((Lgnu.testlet.TestHarness;)V):
incompatible type on stack
Compiling from source gives the following failures:
FAIL: gnu.testlet.java.lang.Math.min: Float NaNs (number 1)
got 0.0 but expected NaN
FAIL: gnu.testlet.java.lang.Math.min: Float NaNs (number 2)
got 0.0 but expected NaN
2 of 41 tests failed
Interestingly compiling from source with -O2 gives:
gnu/testlet/java/lang/Math/min.java:87: Internal compiler error in
emit_move_insn, at expr.c:2768
But I cannot produce a simple testcase for this even though it seems
that it is triggered by Math.min(2.0f, Float.NaN).
>How-To-Repeat:
Install Mauve, set MAUVEDIR and run make check-target-libjava.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: