Rustc pull update - #1246
Merged
Merged
Conversation
…lmann lint ImproperCTypes: refactor linting architecture (part 3) This is the third PR in an effort to split rust-lang/rust#134697 (refactor plus overhaul of the ImproperCTypes family of lints) into individually-mergeable parts. Contains: - the changes of the first two PRs - other user-invisible changes, - the prevention of stack overflows while checking irregular recursive types. Fixes: rust-lang/rust#130310 Superset of: rust-lang/rust#146271 and its superset rust-lang/rust#146273
…nkov resolve: Explicit Set for detecting resolution cycles Instead of using the `borrow_mut` counter of a `RefCell` for a `NameResolution` for detecting cyclic imports during import resolution, we use an explicit recursion stack that keeps track of the current used `NameResolution`s. Because of the upcoming parallelisation of the import resolution algorithm, the current way cannot used in a parallel context. r? @petrochenkov
Polish some macro parsing code I'm working on some optimizations to `macro_parser.rs` and the surrounding code (specifically, changing the current BFS approach into a DFS), and these changes fell out during that effort. I think they make the code more accessible in addition to laying some foundations for my future work (in particular, the handling of ambiguities). This is my first proper entrance into rustc code, please let me know if I'm holding something wrong :) The commits are organized and individually reviewable. r? @nnethercote
bootstrap: update cc-rs to `1.2.62` * Removes deprecated `static_flag` build methods
These are used for unaligned accesses since LLVM 23.
Update to LLVM 23 Changes in this PR (apart from the LLVM update): * Updated cov-map tests due to minor ordering changes introduced in llvm/llvm-project@5931034. The affected tests are limited to LLVM >= 23 now. * Set `LLVM_VERSIONED_DYLIB_NAME_ON_DARWIN=OFF`, which restores the previous unversioned naming of the LLVM dylib on Darwin. I expect we'll want to change this for consistency with Linux, but given the amount of trouble Darwin dylibs have caused in the past, I'm not trying to do it in this PR. * Distribute the llvm-project/libc subproject, which is now a build dependency of LLVM. * Pull in f128 Windows ABI changes from rust-lang/rust#158778. These need to land in sync with the LLVM update (as ABI of libcalls is controlled by LLVM, not our ABI lowering). * Disable RISCV backend on dist-i686-mingw, because the build OOMs on a large generated file. This is a temporary measure until host tools are removed by rust-lang/compiler-team#1020. * The llvm-project fork includes a new downstream patch for mingw: rust-lang/llvm-project@b89cd8e It works around mingw having broken TLS prior to GCC 16. (We're currently on GCC 14.) Issues: * [x] llvm/llvm-project#209512 * [x] llvm/llvm-project#209714 * [x] llvm/llvm-project#209718 * [x] rust-lang/stdarch#2190 (synced in rust-lang/rust#159517) * [x] llvm/llvm-project#210025 * [x] rust-lang/rust#159391 * [x] EnzymeAD/Enzyme#2951 * [x] rust-lang/rust#159301 * [x] llvm/llvm-project#210300
Type fallback refactorings - Don't merge different kinds of infer variables into `Ty` before matching them back - Do fallback only on root vars (this is semantically equivalent to what we currently do; unifying any of the infer vars from the same equivalence class necesserily affects all of them) (this makes rust-lang/rust#159003 a bit less hacky though) - Do some simplification that has been allowed by the previous changes cc @lcnr
Enable polonius alpha on nightly See [rust-lang/compiler-team#](rust-lang/compiler-team#1015) The first commit here adds an `-Zpolonius=nll` argument for tests and so people can disable alpha on nightly.
…enkov perf: Lock-free root fast paths for hygiene queries `normalize_to_macros_2_0`, `normalize_to_macro_rules` and `outer_expn_is_descendant_of` take the `HygieneData` lock even for the root syntax context, the common case, where the answer is fixed: the root normalizes to itself, and everything descends from the root expansion. This PR avoids the lock, like the existing fast paths in `ExpnId::is_descendant_of`.
This updates the rust-version file to f73951df0a5566d94d13b7954acd9f4ab1fa3734.
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: rust-lang/rust@f73951d Filtered ref: 30e5485 Upstream diff: rust-lang/rust@7fb284d...f73951d This merge was created using https://github.com/rust-lang/josh-sync.
Needed for the `__aeabi_u{read,write}*` symbols that we now require.
Member
|
Looks like the new asm files enable the executable stack: |
Pull in a patch that landed just recently but hasn't yet been backported. Without it, symcheck fails. Link: llvm/llvm-project#214465
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Latest update from rustc.