Closed
Conversation
This makes rustc simply return an exit code from main rather than calling `std::process::exit` with an exit code. This means that drops run normally and the process exits cleanly. Also instead of hard coding success and failure codes this uses `ExitCode::SUCCESS` and `ExitCode::FAILURE`, which in turn effectively uses `libc::EXIT_SUCCESS` and `libc::EXIT_FAILURE` (via std). These are `0` and `1` respectively for all currently supported host platforms so it doesn't actually change the exit code.
There don't appear to be any trait impls relying on this default body.
Hexagon Linux targets (hexagon-unknown-linux-musl) use in-tree llvm-libunwind for stack unwinding. However, hexagon-unknown-qurt uses libc_eh from the Hexagon SDK instead.
`get_resident_set_size` computed RSS by multiplying the number of pages from `/proc/self/statm` with a hard-coded 4096-byte page size. This produces incorrect results on systems where the runtime page size is not 4 KiB. Use `sysconf(_SC_PAGESIZE)` to determine the actual page size at runtime so the RSS reported in `-Z time-passes` output is accurate across platforms.
After http://github.com/llvm/llvm-project/pull/178977, the and + icmp are folded to trunc.
Also remove mentions of removed `rustc_dirty`
It's a tiny module with one trait and a default impl. It's not used in `rustc_query_system`; all uses and non-default impls are in `rustc_middle` and `rustc_query_impl`. This commit moves it into `rustc_middle`, which makes things simpler overall.
It's a better place for it, because it relates to queries.
They are defined in `rustc_query_system` but used in `rustc_query_impl`. This is very much *not* how things are supposed to be done; I suspect someone got lazy and took a shortcut at some point. This commit moves the errors into `rustc_query_impl`. This requires more lines of code to give `rustc_query_impl` an errors module, but it's worthwhile to do things in the normal way instead of a weird exceptional way.
It's unused. And it's nice to remove this function that didn't behave like normal `clear` does, as the comment explained.
…ingjubilee Add avr_target_feature This adds the following unstable target features (tracking issue: rust-lang#146889): - The following two are particularly important for properly supporting inline assembly: - `tinyencoding`: AVR has devices that reduce the number of registers, similar to RISC-V's RV32E. This feature is necessary to support inline assembly in such devices. (see also rust-lang#146901) - `lowbytefirst`: AVR's memory access is per 8-bit, and when writing 16-bit ports, the bytes must be written in a specific order. This order depends on devices, making this feature necessary to write proper inline assembly for such use cases. (see also llvm/llvm-project@2a52876) - The followings help recognizing whether specific instructions are available: - `addsubiw` - `break` - `eijmpcall` - `elpm` - `elpmx` - `ijmpcall` - `jmpcall` - `lpm` - `lpmx` - `movw` - `mul` - `rmw` - `spm` - `spmx` Of these, all except `addsubiw`, `break`, `ijmpcall`, `lpm`, `rmw`, `spm`, and `spmx` have [corresponding conditional codes in avr-libc](https://github.com/search?q=repo%3Aavrdudes%2Favr-libc+%2F__AVR_HAVE_%2F&type=code&p=1). LLVM also has `des` feature, but I excluded it from this PR because [DES](https://en.wikipedia.org/wiki/Data_Encryption_Standard) is insecure. - Report future-incompatible warning (rust-lang#116344) for -C target-feature=-sram and -C target-cpu=<device_without_sram> cases because SRAM is minimum requirement for non-assembly language in both avr-gcc and LLVM. - See rust-lang#146900 (comment) for details. LLVM also has `smallstack`, `wrappingrjmp`, and `memmappedregs` features, but I skipped them because they didn't seem to belong to either of the above categories, but I might have missed something. (The feature names are match with [definitions in LLVM](https://github.com/llvm/llvm-project/blob/llvmorg-21.1.0/llvm/lib/Target/AVR/AVRDevices.td).) cc @Patryk27 @Rahix r? workingjubilee @rustbot label +O-AVR +A-target-feature
Return `ExitCode` from `rustc_driver::main` instead of calling `process::exit` This makes rustc simply return an exit code from main rather than calling `std::process::exit` with an exit code. This means that drops run normally and the process exits cleanly. This is similar to what happens when an ICE occurs (due to being a panic that's caught by std's `lang_start`). Also instead of hard coding success and failure codes this uses `ExitCode::SUCCESS` and `ExitCode::FAILURE`, which in turn effectively uses `libc::EXIT_SUCCESS` and `libc::EXIT_FAILURE` (via std). These are `0` and `1` respectively for all currently supported host platforms so it doesn't actually change the exit code.
…ky, r=GuillaumeGomez Remove rustdoc GUI flaky test Part of rust-lang#93784. Originally, this test was checking more things (original version is [here](rust-lang@6bbbff5)), now it only checks that the `searchIndex` variable is global. However, we already are forced to check it in the `rustddoc-js[-std]` testsuites so I think it's safe to say that it's superfluous and definitely not worth all the CI flakyness it created. r? ghost
…a, r=jdonszelmann Convert to inline diagnostics in `rustc_codegen_ssa` For rust-lang#151366 r? @jdonszelmann
…r=nikic Adopt matches-logical-or-141497.rs to LLVM HEAD After http://github.com/llvm/llvm-project/pull/178977, the and + icmp are folded to trunc.
Member
Author
|
Rollup of everything. This rollup is effectively “smaller” than it looks, because many of the PRs are related convert-to-inline-diagnostics PRs. @bors r+ rollup=never p=5 |
Contributor
Member
Author
|
Let's do some miscellaneous testing in parallel. @bors try jobs=x86_64-msvc-1,i686-msvc-1,x86_64-mingw-1,test-various,armhf-gnu,aarch64-apple |
This comment has been minimized.
This comment has been minimized.
rust-bors bot
pushed a commit
that referenced
this pull request
Feb 5, 2026
Rollup of 18 pull requests try-job: x86_64-msvc-1 try-job: i686-msvc-1 try-job: x86_64-mingw-1 try-job: test-various try-job: armhf-gnu try-job: aarch64-apple
Member
Author
|
Contributor
Contributor
|
PR #146900, which is a member of this rollup, was unapproved. |
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.
Successful merges:
ExitCodefromrustc_driver::maininstead of callingprocess::exit#150379 (ReturnExitCodefromrustc_driver::maininstead of callingprocess::exit)DepNodeParamstoDepNodeKey#152033 (Rename traitDepNodeParamstoDepNodeKey)rustc_hir_typeck#152142 (Convert to inline diagnostics inrustc_hir_typeck)rustc_query_systemcleanups #152023 (Somerustc_query_systemcleanups)rustc_resolve#152068 (Convert to inline diagnostics inrustc_resolve)rustc_ast_lowering#152105 (Convert to inline diagnostics inrustc_ast_lowering)rustc_expand#152108 (Convert to inline diagnostics inrustc_expand)rustc_mir_transform#152114 (Convert to inline diagnostics inrustc_mir_transform)rustc_metadata#152115 (Convert to inline diagnostics inrustc_metadata)rustc_codegen_ssa#152118 (Convert to inline diagnostics inrustc_codegen_ssa)Failed merges:
rustc_pattern_analysis#152070 (Convert to inline diagnostics inrustc_pattern_analysis)rustc_ast_passes#152106 (Convert to inline diagnostics inrustc_ast_passes)rustc_errors#152109 (Convert to inline diagnostics inrustc_errors)rustc_trait_selection#152117 (Convert to inline diagnostics inrustc_trait_selection)rustc_middle#152119 (Convert to inline diagnostics inrustc_middle)rustc_mir_build#152126 (Convert to inline diagnostics inrustc_mir_build)r? @ghost
Create a similar rollup