mirror of
https://github.com/python/cpython.git
synced 2025-11-12 07:02:33 +00:00
Issue #12837: Silence a Clang compiler warning on OS X.
Now makes CPython build without warnings on OS X under Clang with -Wno-unused-value -Wno-empty-body -Qunused-arguments -Wno-deprecated-declarations. Thanks to David Watson for taking an initial stab at a solution.
This commit is contained in:
parent
8d942296bb
commit
b05cbe61b3
2 changed files with 21 additions and 1 deletions
|
|
@ -43,6 +43,12 @@ Tools/Demos
|
||||||
- Issue #20142: Py_buffer variables generated by Argument Clinic are now
|
- Issue #20142: Py_buffer variables generated by Argument Clinic are now
|
||||||
initialized with a default value.
|
initialized with a default value.
|
||||||
|
|
||||||
|
Build
|
||||||
|
-----
|
||||||
|
|
||||||
|
- Issue #12837: Silence a tautological comparison warning on OS X under Clang in
|
||||||
|
socketmodule.c.
|
||||||
|
|
||||||
What's New in Python 3.4.0 Beta 2?
|
What's New in Python 3.4.0 Beta 2?
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1885,8 +1885,22 @@ cmsg_min_space(struct msghdr *msg, struct cmsghdr *cmsgh, size_t space)
|
||||||
sizeof(cmsgh->cmsg_len));
|
sizeof(cmsgh->cmsg_len));
|
||||||
|
|
||||||
/* Note that POSIX allows msg_controllen to be of signed type. */
|
/* Note that POSIX allows msg_controllen to be of signed type. */
|
||||||
if (cmsgh == NULL || msg->msg_control == NULL || msg->msg_controllen < 0)
|
if (cmsgh == NULL || msg->msg_control == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
/* Note that POSIX allows msg_controllen to be of a signed type. This is
|
||||||
|
annoying under OS X as it's unsigned there and so it triggers a
|
||||||
|
tautological comparison warning under Clang when compared against 0.
|
||||||
|
Since the check is valid on other platforms, silence the warning under
|
||||||
|
Clang. */
|
||||||
|
#ifdef __clang__
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wtautological-compare"
|
||||||
|
#endif
|
||||||
|
if (msg->msg_controllen < 0)
|
||||||
|
return 0;
|
||||||
|
#ifdef __clang__
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
if (space < cmsg_len_end)
|
if (space < cmsg_len_end)
|
||||||
space = cmsg_len_end;
|
space = cmsg_len_end;
|
||||||
cmsg_offset = (char *)cmsgh - (char *)msg->msg_control;
|
cmsg_offset = (char *)cmsgh - (char *)msg->msg_control;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue