[PATCH] Revert part of fixed-value fix

Richard Biener rguenther@suse.de
Fri Mar 3 11:32:00 GMT 2017


The following reverts uhigh back to elt (1) which are not 100%
semantically equivalent (and the change is not needed to avoid
the warning-prone elt (0)).

Bootstrapped / tested on x86_64-unknown-linux-gnu, applied.

Richard.

2017-03-03  Richard Biener  <rguenther@suse.de>

	* fixed-value.c (fixed_from_string): Restore use of elt (1)
	in place of uhigh ().
	(fixed_convert_from_real): Likewise.

Index: gcc/fixed-value.c
===================================================================
--- gcc/fixed-value.c	(revision 245865)
+++ gcc/fixed-value.c	(working copy)
@@ -131,7 +131,7 @@ fixed_from_string (FIXED_VALUE_TYPE *f,
   wide_int w = real_to_integer (&fixed_value, &fail,
 				GET_MODE_PRECISION (mode));
   f->data.low = w.ulow ();
-  f->data.high = w.uhigh ();
+  f->data.high = w.elt (1);
 
   if (temp == FIXED_MAX_EPS && ALL_FRACT_MODE_P (f->mode))
     {
@@ -1050,7 +1050,7 @@ fixed_convert_from_real (FIXED_VALUE_TYP
   wide_int w = real_to_integer (&fixed_value, &fail,
 				GET_MODE_PRECISION (mode));
   f->data.low = w.ulow ();
-  f->data.high = w.uhigh ();
+  f->data.high = w.elt (1);
   temp = check_real_for_fixed_mode (&real_value, mode);
   if (temp == FIXED_UNDERFLOW) /* Minimum.  */
     {



More information about the Gcc-patches mailing list