Hi,

When building for, say, mips-linux-gnu, the build of objects from fixed-bit.c 
produces a lot of "set but not used" warnings for min_high & min_low.

looking at the code, these appear to be genuine.
Fixed as below.

OK for trunk?
Iain

libgcc:
        * fixed-bit.c (SATFRACT): Adjust declarations and init for
        min_high, min_low.

 
Index: libgcc/fixed-bit.c
===================================================================
--- libgcc/fixed-bit.c  (revision 188657)
+++ libgcc/fixed-bit.c  (working copy)
@@ -768,11 +768,12 @@ SATFRACT (FROM_FIXED_C_TYPE a)
 #if FROM_MODE_UNSIGNED == 0
   BIG_SINT_C_TYPE high, low;
   BIG_SINT_C_TYPE max_high, max_low;
+# if TO_MODE_UNSIGNED == 0
   BIG_SINT_C_TYPE min_high, min_low;
+# endif
 #else
   BIG_UINT_C_TYPE high, low;
   BIG_UINT_C_TYPE max_high, max_low;
-  BIG_UINT_C_TYPE min_high, min_low;
 #endif
 #if TO_FBITS > FROM_FBITS
   BIG_UINT_C_TYPE utemp;
@@ -819,13 +820,12 @@ SATFRACT (FROM_FIXED_C_TYPE a)
 #endif
 
 #if TO_MODE_UNSIGNED == 0
-  min_high = -1;
   stemp = (BIG_SINT_C_TYPE)1 << (BIG_WIDTH - 1);
   stemp = stemp >> (BIG_WIDTH - 1 - TO_I_F_BITS);
+# if FROM_MODE_UNSIGNED == 0
+  min_high = -1;
   min_low = stemp;
-#else
-  min_high = 0;
-  min_low = 0;
+# endif
 #endif
 
 #if FROM_MODE_UNSIGNED == 0 && TO_MODE_UNSIGNED == 0
@@ -973,9 +973,9 @@ SATFRACT (FROM_INT_C_TYPE a)
   FROM_INT_C_TYPE x = a;
   BIG_SINT_C_TYPE high, low;
   BIG_SINT_C_TYPE max_high, max_low;
-  BIG_SINT_C_TYPE min_high, min_low;
 #if TO_MODE_UNSIGNED == 0
   BIG_SINT_C_TYPE stemp;
+  BIG_SINT_C_TYPE min_low, min_high;
 #endif
 #if BIG_WIDTH != TO_FBITS
   BIG_UINT_C_TYPE utemp;
@@ -1011,13 +1011,10 @@ SATFRACT (FROM_INT_C_TYPE a)
 #endif
 
 #if TO_MODE_UNSIGNED == 0
-  min_high = -1;
   stemp = (BIG_SINT_C_TYPE)1 << (BIG_WIDTH - 1);
   stemp = stemp >> (BIG_WIDTH - 1 - TO_I_F_BITS);
   min_low = stemp;
-#else
-  min_high = 0;
-  min_low = 0;
+  min_high = -1;
 #endif
 
 #if TO_MODE_UNSIGNED == 0

Reply via email to