-
-
Notifications
You must be signed in to change notification settings - Fork 32k
gh-131296: Fix clang-cl warning on Windows in posixmodule.c
#133142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good. do we also need to update relevant test for this change?
Generally not. We only fix some compilation warnings and did not make obviously change. can refer to #131296 |
@@ -4190,7 +4190,7 @@ posix_getcwd(int use_bytes) | |||
terminating \0. If the buffer is too small, len includes | |||
the space needed for the terminator. */ | |||
if (len >= Py_ARRAY_LENGTH(wbuf)) { | |||
if (len <= PY_SSIZE_T_MAX / sizeof(wchar_t)) { | |||
if ((Py_ssize_t)len <= PY_SSIZE_T_MAX / sizeof(wchar_t)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This indeed fixes the warning. IMHO, that's the most pragmatic fix. We could be fancy and do some #if
on sizeof(Py_ssize_t)
, etc, but I don't think it is worth the hassle.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sizeof
doesn't work in preprocessor checks anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I meant something like we do with SIZEOF_SIZE_T
, but did not want to elaborate about it in great detail, because IMHO it isn't worth the churn?
@zooba Could you review and merge it, thank you! |
It's a bit of an annoying warning, because they'd be justified in still warning even with the cast (since it still can't ever be larger than that value for a given architecture), but there's nothing more we can do about it. If this cast ever stops suppressing the warning, then we probably just have to disable the warning. |
Only 1 warning in
posixmodule.c
Please add skip news label :)