OSDN Git Service

2007-03-19 Andrew Haley <aph@redhat.com>
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Mar 2007 12:45:19 +0000 (12:45 +0000)
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Mar 2007 12:45:19 +0000 (12:45 +0000)
        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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123085 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-vrp.c
libjava/ChangeLog
libjava/testsuite/libjava.lang/PR31264.jar [new file with mode: 0644]
libjava/testsuite/libjava.lang/PR31264.java [new file with mode: 0644]
libjava/testsuite/libjava.lang/PR31264.out [new file with mode: 0644]

index 43a8abf..18a85ec 100644 (file)
@@ -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
index b137628..2fad779 100644 (file)
@@ -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.  */
index edf374b..03ac64e 100644 (file)
@@ -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 (file)
index 0000000..26731c8
Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR31264.jar differ
diff --git a/libjava/testsuite/libjava.lang/PR31264.java b/libjava/testsuite/libjava.lang/PR31264.java
new file mode 100644 (file)
index 0000000..5c0e85f
--- /dev/null
@@ -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 (file)
index 0000000..e69de29