aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2007-03-20 12:45:19 +0000
committerAndrew Haley <aph@gcc.gnu.org>2007-03-20 12:45:19 +0000
commit2b31200511efd45e241cb8fc6b92149605e71302 (patch)
treebde1e339e8db8605043cf54be9ec6f30c663adf0
parentfb4061627b2cd9acb3298d8a7f3ad90ab2615cf7 (diff)
downloadgcc-2b31200511efd45e241cb8fc6b92149605e71302.zip
gcc-2b31200511efd45e241cb8fc6b92149605e71302.tar.gz
gcc-2b31200511efd45e241cb8fc6b92149605e71302.tar.bz2
[multiple changes]
2007-03-19 Andrew Haley <aph@redhat.com> PR tree-optimization/31264 * tree-vrp.c (register_edge_assert_for_1): Don't look though VIEW_CONVERT_EXPRs. 2007-03-20 Andrew Haley <aph@redhat.com> * testsuite/libjava.lang/PR31264.java: New test. From-SVN: r123085
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-vrp.c1
-rw-r--r--libjava/ChangeLog4
-rw-r--r--libjava/testsuite/libjava.lang/PR31264.jarbin0 -> 844 bytes
-rw-r--r--libjava/testsuite/libjava.lang/PR31264.java28
-rw-r--r--libjava/testsuite/libjava.lang/PR31264.out0
6 files changed, 38 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 43a8abf..18a85ec 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-03-19 Andrew Haley <aph@redhat.com>
+
+ PR tree-optimization/31264
+ * tree-vrp.c (register_edge_assert_for_1): Don't look though
+ VIEW_CONVERT_EXPRs.
+
2007-03-19 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/30907
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index b137628..2fad779 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -3485,7 +3485,6 @@ register_edge_assert_for_1 (tree op, enum tree_code code,
}
else if (TREE_CODE (rhs) == NOP_EXPR
|| TREE_CODE (rhs) == CONVERT_EXPR
- || TREE_CODE (rhs) == VIEW_CONVERT_EXPR
|| TREE_CODE (rhs) == NON_LVALUE_EXPR)
{
/* Recurse through the type conversion. */
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index edf374b..03ac64e 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,7 @@
+2007-03-20 Andrew Haley <aph@redhat.com>
+
+ * testsuite/libjava.lang/PR31264.java: New test.
+
2007-03-14 Jakub Jelinek <jakub@redhat.com>
* Makefile.am (AM_MAKEFLAGS): Pass through mandir.
diff --git a/libjava/testsuite/libjava.lang/PR31264.jar b/libjava/testsuite/libjava.lang/PR31264.jar
new file mode 100644
index 0000000..26731c8
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/PR31264.jar
Binary files differ
diff --git a/libjava/testsuite/libjava.lang/PR31264.java b/libjava/testsuite/libjava.lang/PR31264.java
new file mode 100644
index 0000000..5c0e85f
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/PR31264.java
@@ -0,0 +1,28 @@
+/*
+ * Javolution - Java(TM) Solution for Real-Time and Embedded Systems
+ * Copyright (C) 2006 - Javolution (http://javolution.org/)
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software is
+ * freely granted, provided that this notice is preserved.
+ */
+
+public final class PR31264
+{
+ public static long fubar(double d, int n)
+ {
+ long bits = Double.doubleToRawLongBits(d);
+ int exp = ((int)(bits >> 52)) & 0x7FF;
+ long m = bits & 0x000fffffffffffffL;
+ if (exp == 0)
+ {
+ if (m == 0) return 0L;
+ return fubar(d * 18014398509481984L, n - 54); // 2^54 Exact.
+ }
+ return m;
+ }
+
+ public static void main(String[] argv)
+ {
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/PR31264.out b/libjava/testsuite/libjava.lang/PR31264.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/PR31264.out