-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Throw error on failure in loading llvm-plugin #104517
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @cuviper (or someone else) soon. Please see the contribution instructions for more information. |
I think this is intentional to continue without the plugin, but you're right that |
A non-functional-change would be to concatenate all the plugins that failed into the error message and return it after the loop is done, though in practice I don't think it is a huge deal either way. |
In the legacy pass manager, not able to load a plugin used to be an error / panic. So I am not sure why the behavior should change with the new pass manager.
Concatenating the errors is definitely better, but as mentioned it isn't a big deal either way. |
OK, fair enough! @bors r+ |
…iaskrgr Rollup of 9 pull requests Successful merges: - rust-lang#103908 (Suggest `.clone()` or `ref binding` on E0382) - rust-lang#104517 (Throw error on failure in loading llvm-plugin) - rust-lang#104594 (Properly handle `Pin<&mut dyn* Trait>` receiver in codegen) - rust-lang#104742 (Make `deref_into_dyn_supertrait` lint the impl and not the usage) - rust-lang#104753 (Pass `InferCtxt` to `DropRangeVisitor` so we can resolve vars) - rust-lang#104771 (Add regression test for issue rust-lang#99938) - rust-lang#104772 (Small accessibility improvements) - rust-lang#104775 (Use ObligationCtxt::normalize) - rust-lang#104778 (:arrow_up: rust-analyzer) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
The following code silently ignores the error as the
LLVMRustSetLastError
only tracks one error at a time. At all other places whereLLVMRustSetLastError
is used the code immediately returns.rust/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
Lines 801 to 804 in 251831e