This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: [ARM] Cast string pointers to int to avoid compiler warnings.
- From: "Richard Earnshaw (lists)" <Richard dot Earnshaw at arm dot com>
- To: Christophe Lyon <christophe dot lyon at linaro dot org>, newlib at sourceware dot org
- Date: Fri, 5 Oct 2018 12:02:40 +0100
- Subject: Re: [ARM] Cast string pointers to int to avoid compiler warnings.
- References: <CAKdteOZKVZMeXZGQOaqj-Dz3MTj3maMi24iRu0e6f7u2M-MdNw@mail.gmail.com>
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 <christophe.lyon@linaro.org>
> Date: Mon Oct 1 17:22:43 2018 +0000
>
> [ARM] Cast string pointers to int to avoid compiler warnings.
>
> 2018-10-01 Christophe Lyon <christophe.lyon@linaro.org>
>
> * 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
>