From 2b9f2e4688aa7f44042aee897b98f56beb74d3dc Mon Sep 17 00:00:00 2001 From: aph Date: Tue, 20 Mar 2007 12:45:19 +0000 Subject: [PATCH] 2007-03-19 Andrew Haley PR tree-optimization/31264 * tree-vrp.c (register_edge_assert_for_1): Don't look though VIEW_CONVERT_EXPRs. 2007-03-20 Andrew Haley * 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 | 6 +++++ gcc/tree-vrp.c | 1 - libjava/ChangeLog | 4 +++ libjava/testsuite/libjava.lang/PR31264.jar | Bin 0 -> 844 bytes libjava/testsuite/libjava.lang/PR31264.java | 28 ++++++++++++++++++++ libjava/testsuite/libjava.lang/PR31264.out | 0 6 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 libjava/testsuite/libjava.lang/PR31264.jar create mode 100644 libjava/testsuite/libjava.lang/PR31264.java create mode 100644 libjava/testsuite/libjava.lang/PR31264.out diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 43a8abfd5968..18a85ec79c82 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-03-19 Andrew Haley + + PR tree-optimization/31264 + * tree-vrp.c (register_edge_assert_for_1): Don't look though + VIEW_CONVERT_EXPRs. + 2007-03-19 Paolo Bonzini PR rtl-optimization/30907 diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index b137628c9754..2fad7790e6f7 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 edf374ba8746..03ac64e880e0 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,7 @@ +2007-03-20 Andrew Haley + + * testsuite/libjava.lang/PR31264.java: New test. + 2007-03-14 Jakub Jelinek * 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 0000000000000000000000000000000000000000..26731c83b896b0984112cca1eba9abbbe110423b GIT binary patch literal 844 zc-jl_W@h1H00HLY5;F!QzzM{@t|5-Po_=on0Vv9L=;kKs0NEfcf~?Hf(a+P(H8@1i z*UdLEFEcH*xI{NBwWv5VKhH|RP|twNxhOTUBsE3XsnSZpK+n=hH$6F-iwkBt2iSDU z+>cF{7#SFrGchpm0!0IYj17&{3DS4@($lDIo;L|9DWly zbTcDFHfAUBg_m{6W+bK7ay5x>YKrIZlTSj-o~Eaz3K-OZ=7Z6X%Cc1?PuYN z`|IFv+ovi~kTt@rM1o1xzU%PYiv}E*YbAM{8ZGT#o;uj*v-po)Vb;yhFQzs;^}n^2 z`^9;;MxV~O>ecr&lf+Vmi|Z$5s4IuvUXc*D;7;)NzbWDSzD?e-Uof>M@bj&&eSMc! zMjd;`cSXx7;ovbIFQ!HA*_V@UiFq@HYFdei?yEd`dBVAcJrd=6m;ZbJuR2od=-*P+ zm}P&JC;jk`Sg>Py&!xN{7N?fp67DSj>~d~qtjJO(e;LX0$=lfi1-?GjpYiX^VG&E` z*5Yr^cic|rJo4E^TijUl9}Dm0BU^8A&gorsx#oA`HJjS&msX4JcrP#U`In*I&bF@~ zC3cyv3oZC~bkXHkb02)VVR~%;EZvpI({3zcX}{0uL`Z$yDWE>or8P z*X%k~CHuXAH*{6ejQY8DbH94;aGdYB$^50Qa&`MOZo&VnVtzO;b>Q7DTBWu6pKyRT xBNG<`?lg!BkWwV7HuN-!0O~kWD8dBn=?(!}(Nkf7H!B<1Vj$cCq??#PJOI5NBB=lX literal 0 Hc-jL100001 diff --git a/libjava/testsuite/libjava.lang/PR31264.java b/libjava/testsuite/libjava.lang/PR31264.java new file mode 100644 index 000000000000..5c0e85f010e1 --- /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 000000000000..e69de29bb2d1 -- 2.47.2