Re: [ARM] Cast string pointers to int to avoid compiler warnings.

"Richard Earnshaw (lists)" <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
On 01/10/18 22:30, Christophe Lyon wrote:
> Hi,
> 
> While building newlib for ARM, I noticed that GCC complains about
> implicit casts. This small patch makes them explicit, just like in
> other parts of the same source file.
> 
> OK?
> 
> Christophe
> 
> 
> newlib-3.txt
> 
> 
> commit e923f12ef309d1d79df7bc7c324966a9f647605b
> Author: Christophe Lyon <[email protected]>
> Date:   Mon Oct 1 17:22:43 2018 +0000
> 
>     [ARM] Cast string pointers to int to avoid compiler warnings.
>     
>     2018-10-01  Christophe Lyon  <[email protected]>
>     
>     	* newlib/libc/sys/arm/syscalls.c (_unlink): Cast 'path' to int.
>     	(_system): Cast 's' to int.
>     	(_rename): Cast 'newpath' and 'oldpath' to int.

I was about to moan that you hadn't updated the copy in libgloss.  But
then I saw that it already had the same patch...

Pushed.

R.

> 
> diff --git a/newlib/libc/sys/arm/syscalls.c b/newlib/libc/sys/arm/syscalls.c
> index 6d2ad79..d871464 100644
> --- a/newlib/libc/sys/arm/syscalls.c
> +++ b/newlib/libc/sys/arm/syscalls.c
> @@ -542,7 +542,7 @@ _unlink (const char *path __attribute__ ((unused)))
>  {
>  #ifdef ARM_RDI_MONITOR
>    int block[2];
> -  block[0] = path;
> +  block[0] = (int) path;
>    block[1] = strlen(path);
>    return wrap (do_AngelSWI (AngelSWI_Reason_Remove, block)) ? -1 : 0;
>  #else
> @@ -635,7 +635,7 @@ _system (const char *s)
>       meaning to its return value.  Try to do something reasonable....  */
>    if (!s)
>      return 1;  /* maybe there is a shell available? we can hope. :-P */
> -  block[0] = s;
> +  block[0] = (int) s;
>    block[1] = strlen (s);
>    e = wrap (do_AngelSWI (AngelSWI_Reason_System, block));
>    if ((e >= 0) && (e < 256))
> @@ -662,9 +662,9 @@ _rename (const char * oldpath, const char * newpath)
>  {
>  #ifdef ARM_RDI_MONITOR
>    int block[4];
> -  block[0] = oldpath;
> +  block[0] = (int) oldpath;
>    block[1] = strlen(oldpath);
> -  block[2] = newpath;
> +  block[2] = (int) newpath;
>    block[3] = strlen(newpath);
>    return wrap (do_AngelSWI (AngelSWI_Reason_Rename, block)) ? -1 : 0;
>  #else
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.