This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix PR60706
- From: Richard Biener <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Cc: dave dot anglin at bell dot net
- Date: Tue, 8 Apr 2014 12:06:25 +0200 (CEST)
- Subject: [PATCH] Fix PR60706
- Authentication-results: sourceware.org; auth=none
Dave confirmed that a patch like the following fixes the
inconsistency in printing double-ints that fit 64bits on
HWI32 hosts vs. HWI64 hosts. When the host has a 64bit
type, that is.
Bootstrap running on x86_64-unknown-linux-gnu.
Dave, did testing on hppa2.0w-hp-hpux11.11 show any testsuite
fallout?
Thanks,
Richard.
2014-04-08 Richard Biener <rguenther@suse.de>
PR middle-end/60706
* tree-pretty-print.c (pp_double_int): For HWI32 hosts with
a 64bit widest int print double-int similar to on HWI64 hosts.
Index: gcc/tree-pretty-print.c
===================================================================
--- gcc/tree-pretty-print.c (revision 209210)
+++ gcc/tree-pretty-print.c (working copy)
@@ -3465,6 +3467,12 @@ pp_double_int (pretty_printer *pp, doubl
pp_wide_integer (pp, d.low);
else if (d.fits_uhwi ())
pp_unsigned_wide_integer (pp, d.low);
+ else if (HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT)
+ pp_scalar (pp,
+ uns
+ ? HOST_WIDEST_INT_PRINT_UNSIGNED : HOST_WIDEST_INT_PRINT_DEC,
+ (HOST_WIDEST_INT) ((((unsigned HOST_WIDEST_INT) d.high << 1)
+ << (HOST_BITS_PER_WIDE_INT - 1)) | d.low));
else
{
unsigned HOST_WIDE_INT low = d.low;