If no negative effect with keeping code clear and simple, need try to
avoid warning, especially use our own 'xgcc' for our own code. The
related warning under Darwin is:
/var/root/upstream/build-gcc-new/./gcc/xgcc
-B/var/root/upstream/build-gcc-new/./gcc/
-B/usr/local/x86_64-apple-darwin13.4.0/bin/
-B/usr/local/x86_64-apple-darwin13.4.0/lib/ -isystem
/usr/local/x86_64-apple-darwin13.4.0/include -isystem
/usr/local/x86_64-apple-darwin13.4.0/sys-include -g -O2 -m32 -O2 -g -O2
-DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem
./include -pipe -fno-common -g -DIN_LIBGCC2 -fbuilding-libgcc
-fno-stack-protector -pipe -fno-common -I. -I. -I../../.././gcc
-I../../../../gcc-new/libgcc -I../../../../gcc-new/libgcc/.
-I../../../../gcc-new/libgcc/../gcc -I../../../../gcc-new/libgcc/../include
-DHAVE_CC_TLS -DUSE_EMUTLS -o unwind-dw2-fde-darwin_s.o -MT
unwind-dw2-fde-darwin_s.o -MD -MP -MF unwind-dw2-fde-darwin_s.dep -DSHARED
-fexceptions -c ../../../../gcc-new/libgcc/config/unwind-dw2-fde-darwin.c
In file included from
../../../../gcc-new/libgcc/config/unwind-dw2-fde-darwin.c:35:0:
../../../../gcc-new/libgcc/unwind-dw2-fde.h: In function 'last_fde':
../../../../gcc-new/libgcc/unwind-dw2-fde.h:172:10: warning: cast discards
'const' qualifier from pointer target type [-Wcast-qual]
return (char *)f == obj->fde_end || f->length == 0;
^
It passes "make -k check" under Darwin x86_64.
2014-10-07 Chen Gang <[email protected]>
* unwind-dw2-fde.h (last_fde): Use "(const fde *)" instead of
"(char *)" to avoid qualifier warning by 'xgcc' compiling.
---
libgcc/unwind-dw2-fde.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libgcc/unwind-dw2-fde.h b/libgcc/unwind-dw2-fde.h
index c8201c6..8a71aa6 100644
--- a/libgcc/unwind-dw2-fde.h
+++ b/libgcc/unwind-dw2-fde.h
@@ -169,7 +169,7 @@ static inline int
last_fde (struct object *obj __attribute__ ((__unused__)), const fde *f)
{
#ifdef DWARF2_OBJECT_END_PTR_EXTENSION
- return (char *)f == obj->fde_end || f->length == 0;
+ return f == (const fde *) obj->fde_end || f->length == 0;
#else
return f->length == 0;
#endif
--
1.8.5.2 (Apple Git-48)