-
Notifications
You must be signed in to change notification settings - Fork 112
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
fix MinGW #137
fix MinGW #137
Conversation
I checked that with |
I wonder if there are compatibility issues with linking in the
It won't try to use Also, I am a little concerned the changes you are making will affect the Windows-clang target. |
Sorry, just reread your mcx16 comment. That is pretty crucial to one of the datastructures, so I don't think we can support this. |
For |
thanks for reminding me of clang. I am not quite sure about it either; I remember on windows, clang will provide compatibility with MSVC rather than GNU, but it may still define I do not quite understand the issue of |
tried to compile with |
This makes complete sense. We are only supporting 32bit on Windows with MSVC at the moment. We don't have any 32bit Linux support. I think it it works without WIN8COMPAT that is fine. I had thought it was failing at runtime, and this might fix it. But if it is running, then it is not needed. I'll try to find some time to see if Windows Clang is setting GNUC. |
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.
LGTM. I confirmed Windows' Clang unaffected.
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 seems to be missing a CI job, so we have no way of knowing if this will break in the future.
@@ -72,6 +72,8 @@ if(NOT MSVC) | |||
target_compile_options(snmalloc_lib INTERFACE -mcx16) | |||
elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "amd64") | |||
target_compile_options(snmalloc_lib INTERFACE -mcx16) | |||
elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "AMD64") |
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.
Can this not be a case-insensitive string compare (e.g. use TOLOWER on the processor and then compare against amd64)?
This rust crate can be referred as a test, it also provides freebsd and mingw environment. However, this is not a good solution. It would be better to have an extra pipeline here. |
CMakeLists.txt
to detect "AMD64"NOMINMAX
only when not definedUSE_CLZLL
for mingw<cstdio>
for mingwclz(size_t)
__builtin_clzll
for mingw