On 2024-08-11 12:31, Brian Inglis wrote:
On 2024-08-07 08:06, Corinna Vinschen wrote:
On Aug  6 19:58, Jon Turney wrote:
On 05/08/2024 11:22, Corinna Vinschen wrote:
On Aug  4 22:48, Jon Turney wrote:
Fix gcc 12 warnings about narrowing conversions of socket ioctl constants
when used as case labels, e.g:
[...]
The only caller, fhandler_socket::ioctl, passes an unsigned int
value to get_ifconf. Given how the value is defined, it would be
more straightforward to convert get_ifconf to

    get_ifconf (struct ifconf *ifc, unsigned int what);

wouldn't it?

Yeah, I'm not sure why I didn't do that.  I think I got confused about where
this is used from.

LGTM.  I will additionally push a patch dropping the useless casts.

Hi folks,

Trying to rebuild got a couple of issues with gcc12 and likely recent updates to main, as my previous rebuild for /proc/cpuinfo with gcc11 was fine:

- picky g++

   CXX      net.o
In file included from /usr/src/newlib-cygwin/winsup/cygwin/include/cygwin/socket.h:47,
                  from 
/usr/src/newlib-cygwin/winsup/cygwin/include/cygwin/if.h:17,
                  from 
/usr/src/newlib-cygwin/winsup/cygwin/include/ifaddrs.h:42,
                  from /usr/src/newlib-cygwin/winsup/cygwin/net.cc:26:
/usr/src/newlib-cygwin/winsup/cygwin/net.cc: In function ‘int get_ifconf(ifconf*, int)’: /usr/src/newlib-cygwin/winsup/cygwin/net.cc:1940:18: error: narrowing conversion of ‘2152756069’ from ‘long unsigned int’ to ‘int’ [-Wnarrowing]
  1940 |             case SIOCGIFFLAGS:
       |                  ^~~~~~~~~~~~
... and so on

50cf10dfa485 Cygwin: asm/socket.h: drop outdated casts

so change net.cc get_ifconf (struct ifconf *ifc, int what) to unsigned long, and where it is also declared in fhandler/socket.cc?

- __utoa (and __itoa) declared in stdlib.h inside #ifndef __CYGWIN__

   CC       libc/stdlib/libc_a-itoa.o
/usr/src/newlib-cygwin/newlib/libc/stdlib/itoa.c: In function ‘__itoa’:
/usr/src/newlib-cygwin/newlib/libc/stdlib/itoa.c:57:3: warning: implicit declaration of function ‘__utoa’; did you mean ‘__itoa’? [-Wimplicit-function-declaration]
    57 |   __utoa (uvalue, &str[i], base);
       |   ^~~~~~
       |   __itoa


31f7cd1e4332 Hide itoa, utoa, __itoa and __utoa in stdlib.h on Cygwin only

$ grep -C2 utoa ../../newlib/libc/include/stdlib.h
#ifndef __CYGWIN__
char *  __itoa (int, char *, int);
char *  __utoa (unsigned, char *, int);
# if __MISC_VISIBLE
char *  itoa (int, char *, int);
char *  utoa (unsigned, char *, int);
# endif
#endif

so should this be __INSIDE_CYGWIN__ instead or something else?

Sorry folks,

Did not notice patches 5-6/6 have not yet been applied.
Apply both okay and rebuild proceeding.

--
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                -- Antoine de Saint-Exupéry

Reply via email to