Hi, this patch silents warnings about strict-aliasing rules breach. There are also two hunks that remove obviously always true assert().
Vaclav Haisman 2003-02-20 Vaclav Haisman <[EMAIL PROTECTED]> * libc/stdio/vfprintf.c (cvt): Fix strict-aliasing rules breach warning. * libc/stdlib/ldtoa.c (_ldtoa_r): Ditto. (_strtold): Ditto. 2003-02-20 Vaclav Haisman <[EMAIL PROTECTED]> * cygserver_transport_sockets.cc (transport_layer_sockets::read): Remove obvously always true assert. (transport_layer_sockets::write): Ditto 2003-02-20 Vaclav Haisman <[EMAIL PROTECTED]> * mingwex/math/powl.c (LOG2EA): Fix strict-aliasing rules breach warning. 2003-02-20 Vaclav Haisman <[EMAIL PROTECTED]> * mkgroup.c (enum_local_users): Silent strict-aliasing rules breach warning. (enum_local_groups): Ditto. (enum_users): Ditto. (enum_groups): Ditto. (main): Ditto. * mkpasswd.c (enum_users): Ditto. (enum_local_groups): Ditto. (main): Ditto. * passwd.c (GetPW): Ditto. (PrintPW): Ditto. (SetModals): Ditto. Index: newlib/libc/stdio/vfprintf.c =================================================================== RCS file: /cvs/src/src/newlib/libc/stdio/vfprintf.c,v retrieving revision 1.18 diff -u -p -r1.18 vfprintf.c --- newlib/libc/stdio/vfprintf.c 7 Jan 2003 20:02:33 -0000 1.18 +++ newlib/libc/stdio/vfprintf.c 20 Feb 2003 21:54:44 -0000 @@ -1158,7 +1158,7 @@ cvt(data, value, ndigits, flags, sign, d digits = _dtoa_r(data, value, mode, ndigits, decpt, &dsgn, &rve); #else /* !_NO_LONGDBL */ - ldptr = (struct ldieee *)&value; + ldptr = (struct ldieee *)(void *)&value; if (ldptr->sign) { /* this will check for < 0 and -0.0 */ value = -value; *sign = '-'; Index: newlib/libc/stdlib/ldtoa.c =================================================================== RCS file: /cvs/src/src/newlib/libc/stdlib/ldtoa.c,v retrieving revision 1.8 diff -u -p -r1.8 ldtoa.c --- newlib/libc/stdlib/ldtoa.c 3 Feb 2003 21:29:45 -0000 1.8 +++ newlib/libc/stdlib/ldtoa.c 20 Feb 2003 21:54:47 -0000 @@ -2729,13 +2729,13 @@ if (_REENT_MP_RESULT(ptr)) } #if LDBL_MANT_DIG == 24 -e24toe( (unsigned short *)&d, e, ldp ); +e24toe( (unsigned short *)(void *)&d, e, ldp ); #elif LDBL_MANT_DIG == 53 -e53toe( (unsigned short *)&d, e, ldp ); +e53toe( (unsigned short *)(void *)&d, e, ldp ); #elif LDBL_MANT_DIG == 64 -e64toe( (unsigned short *)&d, e, ldp ); +e64toe( (unsigned short *)(void *)&d, e, ldp ); #else -e113toe( (unsigned short *)&d, e, ldp ); +e113toe( (unsigned short *)(void *)&d, e, ldp ); #endif if( eisneg(e) ) @@ -3228,7 +3228,7 @@ long double _strtold (char *s, char **se rnd.rlast = -1; rnd.rndprc = NBITS; - lenldstr = asctoeg( s, (unsigned short *)&x, LDBL_MANT_DIG, ldp ); + lenldstr = asctoeg( s, (unsigned short *)(void *)&x, LDBL_MANT_DIG, ldp ); if (se) *se = s + lenldstr; return x; Index: winsup/cygwin/cygserver_transport_sockets.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/cygserver_transport_sockets.cc,v retrieving revision 1.4 diff -u -p -r1.4 cygserver_transport_sockets.cc --- winsup/cygwin/cygserver_transport_sockets.cc 22 Sep 2002 12:04:15 -0000 1.4 +++ winsup/cygwin/cygserver_transport_sockets.cc 20 Feb 2003 21:55:04 -0000 @@ -269,8 +269,6 @@ transport_layer_sockets::read (void *con { read_buf += res; read_buf_len -= res; - - assert (read_buf_len >= 0); } if (res != -1) @@ -315,8 +313,6 @@ transport_layer_sockets::write (void *co { write_buf += res; write_buf_len -= res; - - assert (write_buf_len >= 0); } if (res != -1) Index: winsup/mingw/mingwex/math/powl.c =================================================================== RCS file: /cvs/src/src/winsup/mingw/mingwex/math/powl.c,v retrieving revision 1.2 diff -u -p -r1.2 powl.c --- winsup/mingw/mingwex/math/powl.c 6 Oct 2002 23:26:43 -0000 1.2 +++ winsup/mingw/mingwex/math/powl.c 20 Feb 2003 21:55:12 -0000 @@ -270,7 +270,7 @@ static const unsigned short R[] = { #define MNEXP (-NXT*16384.0L) #endif static const unsigned short L[] = {0xc2ef,0x705f,0xeca5,0xe2a8,0x3ffd, XPD}; -#define LOG2EA (*(long double *)(&L[0])) +#define LOG2EA (*(long double *)(void *)(&L[0])) #endif #ifdef MIEEE @@ -359,7 +359,7 @@ static long R[] = { #define MNEXP (-NXT*16382.0L) #endif static long L[3] = {0x3ffd0000,0xe2a8eca5,0x705fc2ef}; -#define LOG2EA (*(long double *)(&L[0])) +#define LOG2EA (*(long double *)(void *)(&L[0])) #endif Index: winsup/utils/mkgroup.c =================================================================== RCS file: /cvs/src/src/winsup/utils/mkgroup.c,v retrieving revision 1.19 diff -u -p -r1.19 mkgroup.c --- winsup/utils/mkgroup.c 15 Jan 2003 10:08:37 -0000 1.19 +++ winsup/utils/mkgroup.c 20 Feb 2003 21:55:17 -0000 @@ -136,7 +136,7 @@ enum_local_users (LPWSTR groupname) DWORD reshdl = 0; if (!netlocalgroupgetmembers (NULL, groupname, - 1, (LPBYTE *) &buf1, + 1, (LPBYTE *)(void *) &buf1, MAX_PREFERRED_LENGTH, &entries, &total, &reshdl)) { @@ -170,7 +170,7 @@ enum_local_groups (int print_sids, int p { DWORD i; - rc = netlocalgroupenum (NULL, 0, (LPBYTE *) &buffer, 1024, + rc = netlocalgroupenum (NULL, 0, (LPBYTE *)(void *) &buffer, 1024, &entriesread, &totalentries, &resume_handle); switch (rc) { @@ -255,7 +255,7 @@ enum_users (LPWSTR servername, LPWSTR gr DWORD reshdl = 0; if (!netgroupgetusers (servername, groupname, - 0, (LPBYTE *) &buf1, + 0, (LPBYTE *)(void *) &buf1, MAX_PREFERRED_LENGTH, &entries, &total, &reshdl)) { @@ -292,7 +292,7 @@ enum_groups (LPWSTR servername, int prin { DWORD i; - rc = netgroupenum (servername, 2, (LPBYTE *) & buffer, 1024, + rc = netgroupenum (servername, 2, (LPBYTE *)(void *) &buffer, 1024, &entriesread, &totalentries, &resume_handle); switch (rc) { @@ -670,7 +670,7 @@ main (int argc, char **argv) { ret = lsaqueryinformationpolicy (lsa, PolicyPrimaryDomainInformation, - (PVOID *) &pdi); + (void *) &pdi); if (ret == STATUS_SUCCESS) { if (pdi->Sid) @@ -701,10 +701,10 @@ main (int argc, char **argv) if (print_domain) { if (domain_specified) - rc = netgetdcname (NULL, domain_name, (LPBYTE *) & servername); + rc = netgetdcname (NULL, domain_name, (LPBYTE *)(void *) &servername); else - rc = netgetdcname (NULL, NULL, (LPBYTE *) & servername); + rc = netgetdcname (NULL, NULL, (LPBYTE *)(void *) &servername); if (rc != ERROR_SUCCESS) { Index: winsup/utils/mkpasswd.c =================================================================== RCS file: /cvs/src/src/winsup/utils/mkpasswd.c,v retrieving revision 1.28 diff -u -p -r1.28 mkpasswd.c --- winsup/utils/mkpasswd.c 15 Jan 2003 10:08:37 -0000 1.28 +++ winsup/utils/mkpasswd.c 20 Feb 2003 21:55:17 -0000 @@ -237,12 +237,12 @@ enum_users (LPWSTR servername, int print { MultiByteToWideChar (CP_ACP, 0, disp_username, -1, uni_name, 512 ); rc = netusergetinfo(servername, (LPWSTR) & uni_name, 3, - (LPBYTE *) &buffer ); + (LPBYTE *)(void *) &buffer ); entriesread=1; } else rc = netuserenum (servername, 3, FILTER_NORMAL_ACCOUNT, - (LPBYTE *) & buffer, 1024, + (LPBYTE *)(void *) &buffer, 1024, &entriesread, &totalentries, &resume_handle); switch (rc) { @@ -370,7 +370,7 @@ enum_local_groups (int print_sids) { DWORD i; - rc = netlocalgroupenum (NULL, 0, (LPBYTE *) & buffer, 1024, + rc = netlocalgroupenum (NULL, 0, (LPBYTE *)(void *) &buffer, 1024, &entriesread, &totalentries, &resume_handle); switch (rc) { @@ -702,10 +702,10 @@ main (int argc, char **argv) if (print_domain) { if (domain_name_specified) - rc = netgetdcname (NULL, domain_name, (LPBYTE *) & servername); + rc = netgetdcname (NULL, domain_name, (LPBYTE *)(void *) &servername); else - rc = netgetdcname (NULL, NULL, (LPBYTE *) & servername); + rc = netgetdcname (NULL, NULL, (LPBYTE *)(void *) &servername); if (rc != ERROR_SUCCESS) { Index: winsup/utils/passwd.c =================================================================== RCS file: /cvs/src/src/winsup/utils/passwd.c,v retrieving revision 1.7 diff -u -p -r1.7 passwd.c --- winsup/utils/passwd.c 15 Sep 2002 19:24:36 -0000 1.7 +++ winsup/utils/passwd.c 20 Feb 2003 21:55:20 -0000 @@ -129,7 +129,7 @@ GetPW (char *user, int print_win_name) } } MultiByteToWideChar (CP_ACP, 0, user, -1, name, 2 * (UNLEN + 1)); - ret = NetUserGetInfo (NULL, name, 3, (LPBYTE *) &ui); + ret = NetUserGetInfo (NULL, name, 3, (LPBYTE *)(void *) &ui); return EvalRet (ret, user) ? NULL : ui; } @@ -176,7 +176,7 @@ PrintPW (PUSER_INFO_3 ui) printf ("Password expired : %s", (ui->usri3_password_expired) ? "yes\n" : "no\n"); printf ("Password changed : %s", ctime(&t)); - ret = NetUserModalsGet (NULL, 0, (LPBYTE *) &mi); + ret = NetUserModalsGet (NULL, 0, (LPBYTE *)(void *) &mi); if (! ret) { if (mi->usrmod0_max_passwd_age == TIMEQ_FOREVER @@ -207,7 +207,7 @@ SetModals (int xarg, int narg, int iarg, int ret; PUSER_MODALS_INFO_0 mi; - ret = NetUserModalsGet (NULL, 0, (LPBYTE *) &mi); + ret = NetUserModalsGet (NULL, 0, (LPBYTE *)(void *) &mi); if (! ret) { if (xarg == 0)