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  <rguent...@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.  */
     {

Reply via email to