-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Fixes for LLVM change 0f45c16f2caa7c035e5c3edd40af9e0d51ad6ba7 #88289
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @jackh726 (or someone else) soon. Please see the contribution instructions for more information. |
I think the right way now would be use lower-level APIs, something like this:
@aeubanks Does that sound right? |
These all look like single attributes, is an |
@aeubanks Good point, I missed that. Yes, it should be possible to use APIs like |
Alright, I believe I've cleaned this up to use all the right APIs. I'm a little dubious of the one |
r? @nikic |
I don't think you need the #ifdefs, you should be able to use the newly suggested method even with older versions of LLVM. It's cleaner anyway. |
Dropped the ifdefs, verified everything works on LLVM HEAD. I assume the bots will cover the older versions of LLVM in case I messed something up. |
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.
Looks good! Could you please squash the commits?
Squashed. Thanks! |
@bors r+ rollup |
📌 Commit f751e2554dffe583d1c525ca5a3a28bf81a65d67 has been approved by |
@bors r- per Arthur's comment above |
The above-mentioned commit (part of the LLVM 14 development cycle) removes a method that rustc uses somewhat extensively. We mostly switch to lower-level methods that exist in all versions of LLVM we use, so no new ifdef logic is required in most cases.
PTAL - this should be ready |
@bors r+ |
📌 Commit 027db5d has been approved by |
Fixes for LLVM change 0f45c16 More details in the individual commit messages, but the summary is: LLVM deleted an unused-to-them method that we used, we worked around it to avoid annoying cleanup/restructuring in the Rust-side code.
…arth Rollup of 11 pull requests Successful merges: - rust-lang#87832 (Fix debugger stepping behavior with `match` expressions) - rust-lang#88123 (Make spans for tuple patterns in E0023 more precise) - rust-lang#88215 (Reland rust-lang#83738: "rustdoc: Don't load all extern crates unconditionally") - rust-lang#88216 (Don't stabilize creation of TryReserveError instances) - rust-lang#88270 (Handle type ascription type ops in NLL HRTB diagnostics) - rust-lang#88289 (Fixes for LLVM change 0f45c16) - rust-lang#88320 (type_implements_trait consider obligation failure on overflow) - rust-lang#88332 (Add argument types tait tests) - rust-lang#88340 (Add `c_size_t` and `c_ssize_t` to `std::os::raw`.) - rust-lang#88346 (Revert "Add type of a let tait test impl trait straight in let") - rust-lang#88348 (Add field types tait tests) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
More details in the individual commit messages, but the summary is: LLVM deleted an unused-to-them method that we used, we worked around it to avoid annoying cleanup/restructuring in the Rust-side code.