-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Fixes for LLVM change 0f45c16f2caa7c035e5c3edd40af9e0d51ad6ba7 #88289
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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.