-
-
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
[CI] Test against LLVM 13 #11343
[CI] Test against LLVM 13 #11343
Conversation
Adding only LLVM 13 for now. LLVM 10 is technically also possible, but it breaks. Needs more investigation. Older LLVM releases are not easily available as binary tarballs.
We could also consider this action for installing LLVM. https://github.com/marketplace/actions/install-llvm-and-clang It supports older releases as well, and works cross-platform. But it's an additional dependency 🤷 |
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.
Regarding LLVM 10, I'd be careful of not re-running tests that are checked by other means. I mean, IIUC we're already testing that version in other runs, aren't we?
Yes, but the main tests are not fixed to LLVM. We should probably try to upgrade as soon as LLVM 13 is available. |
Somehow the LLVM 13 specs have started failing with weird errors in
While trying to reproduce locally, I already had issues with getting the entire thing to compiler. For some reason, I needed GCC 11. But apparently, that's not necessary on CI (the build docker image ships GCC 9.3). Maybe it's just that GCC 10 causes trouble (which I'm using locally). Anyways, I got the second error on my machine as well. It's in The location of this failure explains why this failure hadn't come up before and should remind us to focus more on getting CI specs in order. This PR was sitting around for two months and in the mean time we merged a change that breaks CI. /cc @maxfierke You contributed both LLVM 13 support as well as the faulty spec, do you have any leads what this might be about? |
Do you know what test specifically this is happening on?
I believe this spec got reverted here: #11470. The spec example was pulled from #11384 but ultimately I was trying to fix #11385 which was presenting similarly but didn't have a reproduction. I would suspect there's still a bug there for that sort of implicit recursive struct creation, but it sounds like maybe not something that should ultimately be allowed? The LLVM 13 changes to debug types were really about making sure the right LLVM context for the right LLVM module was used with the debug types being generated. |
I got this on a local run as well now, in I'm really confused now. You're right, that spec has been removed #11470. And that commit has been merged into this branch. So the failure in CI can be disregarded, it was before the removal. Still, it also showed up in my local spec run. Apparently, I messed that up somehow. But I can't see how. However, I can't recall that particular instance anymore because the console buffer runs full quickly with the verbose output 😆 It's a mystery. So the |
The error appears in different locations, but all I've seen are in |
On the tip of master I got it passing locally on my Mac. I wonder if this is a 2nd gen compiler thing (my compiler was compiled by the previous one also compiled with LLVM 13). |
I tried with first and second generation compiler locally in the |
This is going to be fun |
In macOS, I can confirm that compiling the compiler with 1.2.2 (LLVM 11.1) and 1.3-dev (LLVM 13) produces a compiler that passes the specs successfully. |
test_llvm
job which test against specific LLVM versions. Adding only LLVM 13 for now. LLVM 10 is technically also possible, but it breaks. Needs more investigation. Older LLVM releases are not easily available as binary tarballs.windows-job
to use LLVM 13. We don't need to test older releases for now.Follow-up on #11302
Resolves #11047