-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
Alias ssize_t
to SSIZE_T
only for MSVC (fix for mingw)
#4708
Conversation
@giordano Could you please resolve the conflicts (by rebasing or merging)? |
MinGW defines `ssize_t` as `int` for a 32-bit target (https://github.com/mirror/mingw-w64/blob/c6e13e0c105eab7797c2373819b49fff6b05566c/mingw-w64-headers/crt/time.h#L76-L80), which conflicts with the definition of `SSIZE_T`, which is `LONG_PTR`, i.e. `long` for a 32-bit target (https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types).
Done! I've also added a comment in the code to make it clearer why this is needed, and avoid someone will remove it again in the future |
Thanks @giordano! Do you have links to how PCL is being used in Julia? PS: This is a pure MinGW change, right? We don't officially support MinGW, so you might have to keep an eye out yourself for this. Our CI will not catch errors of this type |
ssize_t
to SSIZE_T
only for MSVCssize_t
to SSIZE_T
only for MSVC (fix for mingw)
I don't, and I'm not sure it's used as of yet, but probably @Crghilardi knows more.
Ok, luckily it wasn't needed much work to get it working. We try to be good downstream by upstreaming all relevant patches 🙂 BTW, last patch for this round is at #4707 |
@kunaltyagi I don't have anything to show right now, this was a first step in getting some of this functionality wrapped in Julia. Will try to remember to send a note when something more concrete is ready. Thank you for the responsiveness for all the PRs, this has been a pleasant experience |
MinGW defines
ssize_t
asint
for a 32-bit target, which conflicts with the definition ofSSIZE_T
, which isLONG_PTR
, i.e.long
for a 32-bit target.