From 2b31200511efd45e241cb8fc6b92149605e71302 Mon Sep 17 00:00:00 2001 From: Andrew Haley Date: Tue, 20 Mar 2007 12:45:19 +0000 Subject: [PATCH] [multiple changes] 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. From-SVN: r123085 --- 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 43a8abfd596..18a85ec79c8 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 b137628c975..2fad7790e6f 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 edf374ba874..03ac64e880e 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 zcmWIWW@h1H00HLY5;HIZN^k;cU)K;vT~9wZ{QwkYJ9Kjsb%4?!EP|}e*U`_@%{4eg z&)3a2F)uSMwYWq#EVZaOGe6Ht!BEeD%eg2uu_QG`*QwGnTrc%ItSPh zlDQw7E-^ANEN5b1;02l<5M*p{~9VZ+LC4 zaj|^y`JMm%J$`M@pdDdmsG9KZ&As@@TvOi+rgIBzCiOP<{O(mhn0VtXOHX^COlm(1 zSKMC*huc0?iGr*VW+f6#s`g!n-(ED}xLhmAUq)t32t4f5d_v(|a!E{jfN-^pod%oj#I_HtkF52S8n*UgMFCW=@i*ruzs>?OM6R+9SUca(&> z{V1`^bX{n{$D@lbznc5t(+$&O`)BE{Jf3!A5lj1h)_={eQwqD8<6BpIm`J87|5~ph zn!RS%sVdp;1-zlFie}W$wVV6ZdxztE$4%xhZI!Frr*RAZUlsGid8q^McF`)W)&GP8 zycwCe7;vXSU0|NlP9U`d! literal 0 HcmV?d00001 diff --git a/libjava/testsuite/libjava.lang/PR31264.java b/libjava/testsuite/libjava.lang/PR31264.java new file mode 100644 index 00000000000..5c0e85f010e --- /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 00000000000..e69de29bb2d -- 2.30.2