-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Support compiling with clang on windows #1256
Conversation
You change cmake+clang build on linux, you should not. |
@brada4, I don't think I have. Can you elaborate more? |
I understood, you compile with clang in vcvarsall.bat environment. |
Support for flang was added a few days ago, if this is also available on windows it would seem a natural choice ? |
I haven't used flang on windows. They don't mention windows support. |
No flang on Windows. |
I just read what I wrote, i think gfortran unnecesarily has -lpthread in Windows build, I will check this theory tomorrow when I get to see Windows. Maybe one dll less if i am right |
I'm given to understand linking to mingw-built libraries is not always desirable in Windows projects due some kind of version conflict with/of CRT implementations ? In that case a non-mingw build that actually uses the optimized assembly kernels (unlike what you would currently get with VC, as that does not support inline assembly and AT&T-style assembly syntax) would probably be an improvement even if it is limited to (C)BLAS for now. |
No, it didn't get fixed. It has to do with some issue in ctest that it can't find the tests using ctest "magic" |
I mistook vs clang with llvm installer, yes i am wrong, |
I'm not sure I even understand how ctest/utest is supposed to work. What I did notice is that ctest.h has |
Actually mingw libraries are better than msvc built ones as they do not link to particular version of msvcrt |
I tried lots of ways to make ctest support clang on windows, but it can't find the tests automatically. So, I've added a file that adds the tests manually. |
Travis failure is unrelated. |
Yes, linker task got killed with SIGKILL - could be it hit the 4mb logfile limit from all the type conversion and uninitialized variable warnings (which are mostly "imported" with netlib lapack I think). |
Hmm. Actually the travis logfile for the killed job is a mere 194k in size. I am beginning to wonder if we are seeing fallout from #1255 here, or if it was just a coincidental instability of the travis host ? |
Small clarification about limitations added, guide looks good. |
In CMake,
MSVC
is set to1
forclang
whenclang
is targeting theMSVC
runtime. So there were a few changes for that.With clang, the assembly files can be compiled and therefore optimized kernel is enabled by default for clang on windows.
One issue I can't figure out is why
utest/openblas_utest.exe
gives the followingAny ideas?