-
-
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
Remove now unsupported llvm versions #11403
Conversation
6.x etc. all seem to fail compiling these days. |
Would it be worth adding a smoke test for the range of supported LLVM versions? |
Removing supported llvm versions should incl. code cleanups as well. |
Yes, some macro conditions can be removed at https://github.com/crystal-lang/crystal/blob/master/src/llvm/ext/llvm_ext.cc |
A first step for that is in #11343. It's not a smoke, but a full compiler test. |
What do we do from here? Add a matrix to the LLVM 13 job? |
Adding CI for older, supported versions LLVM is not really a part of this issue. It is about removing older, unsupported versions. The way forward, additionally to removing the versions from |
I think we should drop support for 7.1 as well because it doesn't support methods like |
Yeah, I think we can safely drop support for LLVM 7 at this point. |
Or maybe even more? In light of https://forum.crystal-lang.org/t/compilation-issue-with-crystal-1-6-x/5038 it reminds us that older LLVMs can cause problems (because of bugs in LLVM). So perhaps we should at least spit out a warning when linking against anything older than LLVM 13 or so? |
It is too quick to say that it's LLVM's problem instead of ours with that issue. Besides, LLVM 11.1 was the most recent version available by the time Crystal 1.0.0 was released, and it would be odd to drop support for it within Crystal 1.x. There is also the question of whether certain long-term support OSes could keep up with LLVM releases; we certainly hope that the default LLVM works out of the box. For reference, LLVM bumps its major version every 6 months or so. |
Yeah, I don't mean to anticipate the actual cause of that issue. Whether that is on LLVM or not, we know that there are relevant bugs in older LLVM releases. And we don't need to drop support entirely, but adding a warning might be good. It can be shown when building the compiler, so it won't bother when using the compiler. |
No description provided.