Hi When compiling the athena GUI of Vim with clang, I see those warnings:
gui_at_fs.c:2594:44: warning: cast to 'XtPointer' (aka 'void *') from
smaller integer type 'Cardinal'
(aka 'unsigned int') [-Wint-to-void-pointer-cast]
(XtCallbackProc)SFvAreaSelectedCallback, (XtPointer)n);
^
gui_at_fs.c:2619:44: warning: cast to 'XtPointer' (aka 'void *') from
smaller integer type 'Cardinal'
(aka 'unsigned int') [-Wint-to-void-pointer-cast]
(XtCallbackProc)SFhAreaSelectedCallback, (XtPointer)n);
^
It is casting an 'int' into a pointer which looks dangerous
on 64-bits systems at least. However, the callback casts
the pointer value back into int so it's OK in practice.
In several other places, the warning was already silenced
by doing a cast into (long_u) so attached patch does the
same.
I see the other warning below, but I don't think that there
is any nice way to silence it:
gui_x11.c:2546:26: warning: will never be executed [-Wunreachable-code]
? sizeof(wchar_t) : sizeof(XChar2b)));
^~~~~~~~~~~~~~~
We could do something like this but it's uglier that
the warning ifself, and the unknown pragma for
some other compilers may even cause warnings
for other compilers:
@@ -2542,8 +2542,15 @@
if (buflen < len)
{
XtFree((char *)buf);
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunreachable-code"
+
buf = (void *)XtMalloc(len * (sizeof(XChar2b) < sizeof(wchar_t)
? sizeof(wchar_t) : sizeof(XChar2b)));
+
+#pragma clang diagnostic pop
+
buflen = len;
}
p = s;
Anybody still using the Vim athena gui? :-)
Dominique
--
--
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.
fixed-clang-warn-gui_at_fs.c-7.3.1224.patch
Description: Binary data
