Patch [libf2c]: fix ambiguous expression warnings

Kaveh R. Ghazi ghazi@caip.rutgers.edu
Sun Jun 2 12:15:00 GMT 2002


Fixes:
libI77/inquire.c:58: warning: suggest parentheses around && within ||
libI77/inquire.c:70: warning: suggest parentheses around && within ||
libI77/rdfmt.c:63: warning: suggest parentheses around + or - inside shift
libI77/rdfmt.c:88: warning: suggest parentheses around + or - inside shift
libI77/rdfmt.c:88: warning: suggest parentheses around arithmetic in operand of |
libI77/rsne.c:370: warning: suggest parentheses around && within ||
libF77/lbitbits.c:39: warning: suggest parentheses around + or - inside shift
libF77/lbitbits.c:43: warning: suggest parentheses around + or - inside shift
libF77/lbitbits.c:53: warning: suggest parentheses around + or - inside shift
libF77/lbitbits.c:53: warning: suggest parentheses around arithmetic in operand of |
libF77/lbitbits.c:57: warning: suggest parentheses around + or - inside shift
libF77/lbitbits.c:57: warning: suggest parentheses around arithmetic in operand of |
libF77/qbitbits.c:43: warning: suggest parentheses around + or - inside shift
libF77/qbitbits.c:47: warning: suggest parentheses around + or - inside shift
libF77/qbitbits.c:57: warning: suggest parentheses around + or - inside shift
libF77/qbitbits.c:57: warning: suggest parentheses around arithmetic in operand of |
libF77/qbitbits.c:61: warning: suggest parentheses around + or - inside shift
libF77/qbitbits.c:61: warning: suggest parentheses around arithmetic in operand of |

Tested on solaris2.7, ok to install?

		Thanks,
		--Kaveh


2002-06-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* libF77/lbitbits.c (lbit_cshift): disambiguate expressions
	with parentheses.
	* libF77/qbitbits.c (qbit_cshift): Likewise.
	* libI77/inquire.c (f_inqu): Likewise.
	* libI77/rdfmt.c (rd_Z): Likewise.
	* libI77/rsne.c (x_rsne): Likewise.

diff -rup orig/egcc-CVS20020531/libf2c/libF77/lbitbits.c egcc-CVS20020531/libf2c/libF77/lbitbits.c
--- orig/egcc-CVS20020531/libf2c/libF77/lbitbits.c	2002-06-01 08:53:15.389780494 -0400
+++ egcc-CVS20020531/libf2c/libF77/lbitbits.c	2002-06-01 22:51:58.216512067 -0400
@@ -36,11 +36,11 @@ lbit_cshift (integer a, integer b, integ
       if (b >= 0)
 	{
 	  b %= LONGBITS;
-	  return (integer) (x << b | x >> LONGBITS - b);
+	  return (integer) (x << b | x >> (LONGBITS - b));
 	}
       b = -b;
       b %= LONGBITS;
-      return (integer) (x << LONGBITS - b | x >> b);
+      return (integer) (x << (LONGBITS - b) | x >> b);
     }
   y = z = (unsigned long) -1;
   y <<= len;
@@ -50,9 +50,9 @@ lbit_cshift (integer a, integer b, integ
   if (b >= 0)
     {
       b %= len;
-      return (integer) (y | z & (x << b | x >> len - b));
+      return (integer) (y | (z & (x << b | x >> (len - b))));
     }
   b = -b;
   b %= len;
-  return (integer) (y | z & (x >> b | x << len - b));
+  return (integer) (y | (z & (x >> b | x << (len - b))));
 }
diff -rup orig/egcc-CVS20020531/libf2c/libF77/qbitbits.c egcc-CVS20020531/libf2c/libF77/qbitbits.c
--- orig/egcc-CVS20020531/libf2c/libF77/qbitbits.c	2002-06-01 08:53:15.399780891 -0400
+++ egcc-CVS20020531/libf2c/libF77/qbitbits.c	2002-06-01 22:52:26.943646297 -0400
@@ -40,11 +40,11 @@ qbit_cshift (longint a, integer b, integ
       if (b >= 0)
 	{
 	  b %= LONG8BITS;
-	  return (longint) (x << b | x >> LONG8BITS - b);
+	  return (longint) (x << b | x >> (LONG8BITS - b));
 	}
       b = -b;
       b %= LONG8BITS;
-      return (longint) (x << LONG8BITS - b | x >> b);
+      return (longint) (x << (LONG8BITS - b) | x >> b);
     }
   y = z = (unsigned long) -1;
   y <<= len;
@@ -54,9 +54,9 @@ qbit_cshift (longint a, integer b, integ
   if (b >= 0)
     {
       b %= len;
-      return (longint) (y | z & (x << b | x >> len - b));
+      return (longint) (y | (z & (x << b | x >> (len - b))));
     }
   b = -b;
   b %= len;
-  return (longint) (y | z & (x >> b | x << len - b));
+  return (longint) (y | (z & (x >> b | x << (len - b))));
 }
diff -rup orig/egcc-CVS20020531/libf2c/libI77/inquire.c egcc-CVS20020531/libf2c/libI77/inquire.c
--- orig/egcc-CVS20020531/libf2c/libI77/inquire.c	2002-06-01 09:40:32.176890118 -0400
+++ egcc-CVS20020531/libf2c/libI77/inquire.c	2002-06-01 22:53:55.844937280 -0400
@@ -56,7 +56,7 @@ f_inqu (inlist * a)
     }
   if (a->inex != NULL)
     {
-      if (byfile && x != -1 || !byfile && p != NULL)
+      if ((byfile && x != -1) || (!byfile && p != NULL))
 	*a->inex = 1;
       else
 	*a->inex = 0;
@@ -72,7 +72,7 @@ f_inqu (inlist * a)
     *a->innum = p - f__units;
   if (a->innamed != NULL)
     {
-      if (byfile || p != NULL && p->ufnm != NULL)
+      if (byfile || (p != NULL && p->ufnm != NULL))
 	*a->innamed = 1;
       else
 	*a->innamed = 0;
diff -rup orig/egcc-CVS20020531/libf2c/libI77/rdfmt.c egcc-CVS20020531/libf2c/libI77/rdfmt.c
--- orig/egcc-CVS20020531/libf2c/libI77/rdfmt.c	2002-06-01 22:49:09.553064438 -0400
+++ egcc-CVS20020531/libf2c/libI77/rdfmt.c	2002-06-01 22:57:22.024112601 -0400
@@ -60,7 +60,7 @@ rd_Z (Uint * n, int w, ftnlen len)
     return errno = 115;
   w = (int) len;
   w1 = s - s0;
-  w2 = w1 + 1 >> 1;
+  w2 = (w1 + 1) >> 1;
   t = (char *) n;
   if (*(char *) &one)
     {
@@ -85,7 +85,7 @@ rd_Z (Uint * n, int w, ftnlen len)
     }
   do
     {
-      *t = hex[*s0 & 0xff] - 1 << 4 | hex[s0[1] & 0xff] - 1;
+      *t = (hex[*s0 & 0xff] - 1) << 4 | (hex[s0[1] & 0xff] - 1);
       t += i;
       s0 += 2;
     }
diff -rup orig/egcc-CVS20020531/libf2c/libI77/rsne.c egcc-CVS20020531/libf2c/libI77/rsne.c
--- orig/egcc-CVS20020531/libf2c/libI77/rsne.c	2002-06-01 22:49:09.553064438 -0400
+++ egcc-CVS20020531/libf2c/libI77/rsne.c	2002-06-01 22:56:29.709380390 -0400
@@ -368,7 +368,7 @@ have_amp:
 	  case '&':
 	    return 0;
 	  default:
-	    if (ch <= ' ' && ch >= 0 || ch == ',')
+	    if ((ch <= ' ' && ch >= 0) || ch == ',')
 	      continue;
 	    Ungetc (ch, f__cf);
 	    if ((ch = getname (buf, sizeof (buf))))



More information about the Gcc-patches mailing list