This is the mail archive of the
glibc-linux@ricardo.ecn.wfu.edu
mailing list for the glibc project.
PR number 1501
- To: glibc-linux at ricardo dot ecn dot wfu dot edu
- Subject: PR number 1501
- From: Keith Owens <kaos at ocs dot com dot au>
- Date: Mon, 10 Jan 2000 17:51:12 +1100
- Reply-To: glibc-linux at ricardo dot ecn dot wfu dot edu
/usr/include/bits/string2.h in glibc 2.1.2 does arithmetic on void *
pointers. If you compile with -Wpointer-arith you get a lot of warning
messages. PR number 1501 says "The code is correct and the warning
can't be avoided". This patch suppresses the warning messages and,
AFAICT it generates the same object code. Any reason for this not to
work?
--- /usr/include/bits/string2.h.orig Tue Oct 12 04:32:42 1999
+++ /usr/include/bits/string2.h Mon Jan 10 17:36:51 2000
@@ -122,54 +122,54 @@
{ \
case 15: \
__u->__ui = __c * 0x01010101; \
- __u = __extension__ ((void *) __u + 4); \
+ __u = __extension__ (void *)((char *) __u + 4); \
case 11: \
__u->__ui = __c * 0x01010101; \
- __u = __extension__ ((void *) __u + 4); \
+ __u = __extension__ (void *)((char *) __u + 4); \
case 7: \
__u->__ui = __c * 0x01010101; \
- __u = __extension__ ((void *) __u + 4); \
+ __u = __extension__ (void *)((char *) __u + 4); \
case 3: \
__u->__usi = (unsigned short int) __c * 0x0101; \
- __u = __extension__ ((void *) __u + 2); \
+ __u = __extension__ (void *)((char *) __u + 2); \
__u->__uc = (unsigned char) __c; \
break; \
\
case 14: \
__u->__ui = __c * 0x01010101; \
- __u = __extension__ ((void *) __u + 4); \
+ __u = __extension__ (void *)((char *) __u + 4); \
case 10: \
__u->__ui = __c * 0x01010101; \
- __u = __extension__ ((void *) __u + 4); \
+ __u = __extension__ (void *)((char *) __u + 4); \
case 6: \
__u->__ui = __c * 0x01010101; \
- __u = __extension__ ((void *) __u + 4); \
+ __u = __extension__ (void *)((char *) __u + 4); \
case 2: \
__u->__usi = (unsigned short int) __c * 0x0101; \
break; \
\
case 13: \
__u->__ui = __c * 0x01010101; \
- __u = __extension__ ((void *) __u + 4); \
+ __u = __extension__ (void *)((char *) __u + 4); \
case 9: \
__u->__ui = __c * 0x01010101; \
- __u = __extension__ ((void *) __u + 4); \
+ __u = __extension__ (void *)((char *) __u + 4); \
case 5: \
__u->__ui = __c * 0x01010101; \
- __u = __extension__ ((void *) __u + 4); \
+ __u = __extension__ (void *)((char *) __u + 4); \
case 1: \
__u->__uc = (unsigned char) __c; \
break; \
\
case 16: \
__u->__ui = __c * 0x01010101; \
- __u = __extension__ ((void *) __u + 4); \
+ __u = __extension__ (void *)((char *) __u + 4); \
case 12: \
__u->__ui = __c * 0x01010101; \
- __u = __extension__ ((void *) __u + 4); \
+ __u = __extension__ (void *)((char *) __u + 4); \
case 8: \
__u->__ui = __c * 0x01010101; \
- __u = __extension__ ((void *) __u + 4); \
+ __u = __extension__ (void *)((char *) __u + 4); \
case 4: \
__u->__ui = __c * 0x01010101; \
case 0: \
@@ -235,47 +235,47 @@
{
case 1:
__u->__c = __src0_1;
- __u = __extension__ ((void *) __u + 1);
+ __u = __extension__ (void *)((char *) __u + 1);
break;
case 2:
__u->__usi = __src0_2;
- __u = __extension__ ((void *) __u + 2);
+ __u = __extension__ (void *)((char *) __u + 2);
break;
case 3:
__u->__usi = __src0_2;
- __u = __extension__ ((void *) __u + 2);
+ __u = __extension__ (void *)((char *) __u + 2);
__u->__c = __src2_1;
- __u = __extension__ ((void *) __u + 1);
+ __u = __extension__ (void *)((char *) __u + 1);
break;
case 4:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
break;
case 5:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
__u->__c = __src4_1;
- __u = __extension__ ((void *) __u + 1);
+ __u = __extension__ (void *)((char *) __u + 1);
break;
case 6:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
__u->__usi = __src4_2;
- __u = __extension__ ((void *) __u + 2);
+ __u = __extension__ (void *)((char *) __u + 2);
break;
case 7:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
__u->__usi = __src4_2;
- __u = __extension__ ((void *) __u + 2);
+ __u = __extension__ (void *)((char *) __u + 2);
__u->__c = __src6_1;
- __u = __extension__ ((void *) __u + 1);
+ __u = __extension__ (void *)((char *) __u + 1);
break;
case 8:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
__u->__ui = __src4_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
break;
}
return (void *) __u;
@@ -360,7 +360,7 @@
__extension__ __u->__sca8 = __src8;
break;
}
- return __extension__ ((void *) __u + __srclen);
+ return __extension__ (void *)((char *) __u + __srclen);
}
# endif
# endif
@@ -416,7 +416,7 @@
break;
case 3:
__u->__usi = __src0_2;
- __u = __extension__ ((void *) __u + 2);
+ __u = __extension__ (void *)((char *) __u + 2);
__u->__uc = '\0';
break;
case 4:
@@ -424,24 +424,24 @@
break;
case 5:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
__u->__uc = '\0';
break;
case 6:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
__u->__usi = __src4_2;
break;
case 7:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
__u->__usi = __src4_2;
- __u = __extension__ ((void *) __u + 2);
+ __u = __extension__ (void *)((char *) __u + 2);
__u->__uc = '\0';
break;
case 8:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
__u->__ui = __src4_4;
break;
}
@@ -572,40 +572,40 @@
break;
case 2:
__u->__usi = __src0_2;
- __u = __extension__ ((void *) __u + 1);
+ __u = __extension__ (void *)((char *) __u + 1);
break;
case 3:
__u->__usi = __src0_2;
- __u = __extension__ ((void *) __u + 2);
+ __u = __extension__ (void *)((char *) __u + 2);
__u->__uc = '\0';
break;
case 4:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 3);
+ __u = __extension__ (void *)((char *) __u + 3);
break;
case 5:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
__u->__uc = '\0';
break;
case 6:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
__u->__usi = __src4_2;
- __u = __extension__ ((void *) __u + 1);
+ __u = __extension__ (void *)((char *) __u + 1);
break;
case 7:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
__u->__usi = __src4_2;
- __u = __extension__ ((void *) __u + 2);
+ __u = __extension__ (void *)((char *) __u + 2);
__u->__uc = '\0';
break;
case 8:
__u->__ui = __src0_4;
- __u = __extension__ ((void *) __u + 4);
+ __u = __extension__ (void *)((char *) __u + 4);
__u->__ui = __src4_4;
- __u = __extension__ ((void *) __u + 3);
+ __u = __extension__ (void *)((char *) __u + 3);
break;
}
return &__u->__uc;