-
-
Notifications
You must be signed in to change notification settings - Fork 1.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
Drop LLVM 3.5 and LLVM 3.6 support #4396
Drop LLVM 3.5 and LLVM 3.6 support #4396
Conversation
Note: We are missing invocations to llvm-config-4.0, in some linux packages there might be no llvm-config but llvm-config-4.0. (in the Makefile and lib_llvm.cr). I was expecting to do that soon, but it will conflict slightly with this. This can't be merged until the omnibus-crystal is migrated to use newer llvm, so avoid merging until @matiasgarciaisaia or @waj says so. |
How about
P. S.: I mean not necessarily updating it in this PR, but it is required to update 😉 . |
The docker image is based on released Crystal AFAIK so it should be updated on next release. I initially didn't had |
Great! :D |
The supported LLVM versions are 3.8, 3.9 and 4.0.
56e1b8c
to
09c8ca9
Compare
I suppose that latest stable LLVM should be default one. |
LLVM 3.9 is the current stable. LLVM 4 is qualification and LLVM 5 is unstable. Some package managers (i.e. homebrew) are pushing the qualification release as stable but it's actually not by LLVM terms. |
Looks like these functions should be uncommented. https://github.com/crystal-lang/crystal/blob/master/src/math/libm.cr#L6 |
|
@ysbaddaden As @RX14 said - minnum and maxnum were introduced in LLVM 3.6. |
Bump. Since omnibus now relies on LLVM 3.8 can we drop support for older, buggy, LLVM versions? |
Bump 👍 |
I'm not that sure it's wise to merge this until we get rid of things like
#4719
I'd treat 3.8 builds as release candidates for now - I'd rather have the
safety net of falling back to 3.5 if anything gets to ugly.
Probably over-conservative, but that's what I feel.
I'm open to other opinions, anyway.
|
Everywhere in code I see mentions about ugly earliest LLVM < 3.9. We must drop support for old LLVMs because of
|
The solution is to statically compile LLVM into the crystal compiler so we can support 1 or maybe 2 LLVM major versions and not have to worry about distributions. |
Closing, this was merged in #4821. |
Since omnibus will be updated to use LLVM 3.8.1, this drops support for older, buggy, LLVM releases. This also cleans up the codebase.
The supported LLVM versions are now 3.8, 3.9 and 4.0 (manually tested).