-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Build fails with LLVM trunk. #55714
Comments
It seems that LLVM added a new optional argument to The following makes the build pass:
I'll check the tests work. |
BTW: Do you expect to be able to target versions on LLVM with and without this argument? It might be more robust to pass the optional arguments as such, instead of as positional arguments? |
Not sure if this is to do with my change (or maybe a new LLVM), but the tests are failing with lots of "procedural macro API is used outside of a procedural macro" errors. Here's the output of one:
|
I'm just learning that Rust uses a fork of LLVM, so this is probably garbage. Sorry for the noise. |
@vext01 You are running fulldeps tests with a stage1 compiler. I believe a stage2 compiler is necessary for that. It is generally not expected that rust is able to build against LLVM trunk. To support a newer version of LLVM the procedure would be to a) update https://github.com/rust-lang/llvm to a newer version (rebasing existing patches), b) update the llvm submodule in this repository and c) introduce version checks to support different LLVM versions. In this case, the appropriate check would be What do you need the trunk version for though? Do you need some specific commits that have landed in the meantime? |
To clarify, Rust supports building against vanilla LLVM, you don't need to use the fork. However, it only supports building against released versions of LLVM or the specific revision at which the fork currently is. It's hard to support anything else, because LLVM is a moving target and we only have the version number as a basis for conditional compilation. |
Hi nikic, I'm involved a research project which is based on rustc. I need to be able to use the recent DILabel codegen, which sadly only landed in LLVM trunk this month. Since my changes are not going to be suitable for upstream, I'm not sure it's fair to ask you guys to update your fork... Unless that's something you'd be doing anyway? |
@nikic since the tests passed when testing at stage2, I've raised a PR ^. |
Hi,
I'm not sure if you target LLVM trunk, but I guess this will have to be fixed some day anyway.
Using LLVM trunk as of today (commit
5bc1446f3bee779c5a15a0256169bc7623682121
in git) and Rust master (commit24e66c28980442a48d9458f1a4f9b76cc722dc8a
in git), I have the following compilation error when buildingsrc/libstd
:My
config.toml
:I'm using Debian 9.
I'll try to get a fix, but I'm no LLVM expert.
The text was updated successfully, but these errors were encountered: