Discussion:
[ARM] Cast string pointers to int to avoid compiler warnings.
Christophe Lyon
2018-10-01 21:30:29 UTC
Permalink
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
Christophe Lyon
2018-10-05 09:19:03 UTC
Permalink
ping?

This is similar to what is done in other places in the same source file.
Post by Christophe Lyon
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
Richard Earnshaw (lists)
2018-10-05 11:02:40 UTC
Permalink
Post by Christophe Lyon
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
Date: Mon Oct 1 17:22:43 2018 +0000
[ARM] Cast string pointers to int to avoid compiler warnings.
* 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.
Post by Christophe Lyon
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
Loading...