aboutsummaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.lang
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/testsuite/libjava.lang')
-rw-r--r--libjava/testsuite/libjava.lang/CompareNaN.java15
-rw-r--r--libjava/testsuite/libjava.lang/CompareNaN.out1
2 files changed, 16 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.lang/CompareNaN.java b/libjava/testsuite/libjava.lang/CompareNaN.java
new file mode 100644
index 0000000..77a6d6a
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/CompareNaN.java
@@ -0,0 +1,15 @@
+/*
+ * JLS 4.2.3 specifies that (x op y) must be false if either x or y
+ * is NaN and op is one of <, >, <=, >=, or ==.
+ *
+ * Some targets may need specific options wired into libgcj.spec
+ * to pass this test. For example, alpha-linux requires -mieee
+ * to prevent an unrecoverable fp trap.
+ */
+
+public class CompareNaN {
+ public static void main(String[] args) {
+ double x = Double.NaN;
+ System.out.println(x == x);
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/CompareNaN.out b/libjava/testsuite/libjava.lang/CompareNaN.out
new file mode 100644
index 0000000..c508d53
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/CompareNaN.out
@@ -0,0 +1 @@
+false