Commit b05cbe61 authored by Brett Cannon's avatar Brett Cannon

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.
parent 8d942296
......@@ -43,6 +43,12 @@ Tools/Demos
- Issue #20142: Py_buffer variables generated by Argument Clinic are now
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?
==================================
......
......@@ -1885,8 +1885,22 @@ cmsg_min_space(struct msghdr *msg, struct cmsghdr *cmsgh, size_t space)
sizeof(cmsgh->cmsg_len));
/* 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;
/* 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)
space = cmsg_len_end;
cmsg_offset = (char *)cmsgh - (char *)msg->msg_control;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment