Hi, Thanks to Dominique Pelle and Patch 7.3.1224, xxd has got to be compiled on MacOS X 10.8 with clang, whose build had been failed due to clang's stringent syntax checks, where gcc generously compiles. I'm quite happy with the patch's by-product.
The attached patch is for suppressing another set of clang's warnings which are
caused by implicit type conversions in part of src/gui_motif.c (The warnings
are a little bit lengthy as a whole, but you'll soon find a single kind of
warning is repeated five times):
<quote start>
clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MOTIF -I/usr/X11R6/include
-g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -I/opt/X11/include -o
objects/gui_motif.o gui_motif.c
gui_motif.c:3775:27: warning: passing 'char *' to parameter of type 'char_u *'
(aka 'unsigned char *') converts between pointers to integer types with
different sign [-Wpointer-sign]
set_label(frdp->find, _("Find &Next"));
^~~~~~~~~~~~~~~
./vim.h:594:15: note: expanded from macro '_'
# define _(x) ((char *)(x))
^~~~~~~~~~~~~
gui_motif.c:3790:27: warning: passing 'char *' to parameter of type 'char_u *'
(aka 'unsigned char *') converts between pointers to integer types with
different sign [-Wpointer-sign]
set_label(frdp->replace, _("&Replace"));
^~~~~~~~~~~~~
./vim.h:594:15: note: expanded from macro '_'
# define _(x) ((char *)(x))
^~~~~~~~~~~~~
gui_motif.c:3801:23: warning: passing 'char *' to parameter of type 'char_u *'
(aka 'unsigned char *') converts between pointers to integer types with
different sign [-Wpointer-sign]
set_label(frdp->all, _("Replace &All"));
^~~~~~~~~~~~~~~~~
./vim.h:594:15: note: expanded from macro '_'
# define _(x) ((char *)(x))
^~~~~~~~~~~~~
gui_motif.c:3812:24: warning: passing 'char *' to parameter of type 'char_u *'
(aka 'unsigned char *') converts between pointers to integer types with
different sign [-Wpointer-sign]
set_label(frdp->undo, _("&Undo"));
^~~~~~~~~~
./vim.h:594:15: note: expanded from macro '_'
# define _(x) ((char *)(x))
^~~~~~~~~~~~~
gui_motif.c:3823:29: warning: passing 'char *' to parameter of type 'char_u *'
(aka 'unsigned char *') converts between pointers to integer types with
different sign [-Wpointer-sign]
set_label(frdp->cancel, _("&Cancel"));
^~~~~~~~~~~~
./vim.h:594:15: note: expanded from macro '_'
# define _(x) ((char *)(x))
^~~~~~~~~~~~~
5 warnings generated.
<quote end>
I also tried to fix the issue in such a way that the definition of the macro
_(x) includes an explicit type cast, but it only resulted in an increase in the
number of warnings.
Best regards,
KK
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.
gui_motif.c.patch
Description: Binary data
