https://gcc.gnu.org/g:34ace6d7b63d04d26fe7b190764ede70aaa75f32
commit r15-6523-g34ace6d7b63d04d26fe7b190764ede70aaa75f32 Author: Douglas B Rupp <r...@adacore.com> Date: Mon Aug 5 13:17:38 2024 -0700 ada: Incompatible conversion on vxworks in socket.c In the vxworks section, a conversion between char* and int is attempted, which results in a warning with gcc. However with clang with is an error. Note also on 64bit targets, there's a size mismatch. gcc/ada/ChangeLog: * socket.c [__vxworks]: Change vxw_h_addr type to long from int, and cast the conversion of char* to vxw_h_addr to avoid warning/error. Diff: --- gcc/ada/socket.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/ada/socket.c b/gcc/ada/socket.c index 75b4288a129e..297d303cef7d 100644 --- a/gcc/ada/socket.c +++ b/gcc/ada/socket.c @@ -266,7 +266,7 @@ __gnat_getservbyport (int port, const char *proto, #elif defined (__vxworks) static char vxw_h_name[MAXHOSTNAMELEN + 1]; static char *vxw_h_aliases[1] = { NULL }; -static int vxw_h_addr; +static long vxw_h_addr; static char *vxw_h_addr_list[2] = { (char*) &vxw_h_addr, NULL }; int @@ -307,7 +307,7 @@ __gnat_gethostbyaddr (const char *addr, int len, int type, return -1; } - vxw_h_addr = addr; + vxw_h_addr = (long) addr; ret->h_name = &vxw_h_name; ret->h_aliases = &vxw_h_aliases;