(pcfinclude): Use HOST_WIDE_INT for rounding a pointer.
authorRichard Stallman <rms@gnu.org>
Tue, 18 Aug 1992 04:15:46 +0000 (04:15 +0000)
committerRichard Stallman <rms@gnu.org>
Tue, 18 Aug 1992 04:15:46 +0000 (04:15 +0000)
From-SVN: r1881

gcc/cccp.c

index 56aa06b9ea70424a914cea308176cd118cadf53a..3be41b8e8f2f48148a8fd73f7390115ef9a3c326 100644 (file)
@@ -4384,11 +4384,12 @@ pcfinclude (buf, limit, name, op)
 
     /* First skip to a longword boundary */
     /* ??? Why a 4-byte boundary?  On all machines? */
-    /* NOTE: while int may not be as wide as a pointer on some machins,
-       this is correct nonethelesss works anyway.
-       Do not try risky measures here to get another type to use!  */
-    if ((int) cp & 3)
-      cp += 4 - ((int) cp & 3);
+    /* NOTE: This works correctly even if HOST_WIDE_INT
+       is narrower than a pointer.
+       Do not try risky measures here to get another type to use!
+       Do not include gstddef.h or stddef.h--either one will fail!  */
+    if ((HOST_WIDE_INT) cp & 3)
+      cp += 4 - ((HOST_WIDE_INT) cp & 3);
     
     /* Now get the string. */
     str = (STRINGDEF *) cp;