about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-07-18Ignore tests/run-make/link-eh-frame-terminator/rmake.rs when cross-compilingCaiweiran-0/+1
2025-07-18move page protection logic inside native_libRalf Jung-93/+84
and ensure we don't unwind out of the "weird state" during tracing
2025-07-18Merge pull request #2511 from ffengyu/errataTshepang Mbambo-1/+1
Mistake in section serialization in rustc
2025-07-18`intrinsic-test`: combine C files for more efficient compilationFolkert de Vries-230/+259
2025-07-18exclude generated rust programs from the workspaceFolkert de Vries-1/+2
2025-07-18inline CrateLoader inside of CStoreLorrensP-2158466-158/+169
2025-07-18fix typosYiqun Liu-1/+1
2025-07-18HIR ty lowering: Validate `PointeeSized` boundsLeón Orell Valerian Liehr-78/+135
2025-07-18Don't reject *multiple* relaxed bounds, reject *duplicate* ones.León Orell Valerian Liehr-150/+128
Having multiple relaxed bounds like `?Sized + ?Iterator` is actually *fine*. We actually want to reject *duplicate* relaxed bounds like `?Sized + ?Sized` because these most certainly represent a user error. Note that this doesn't mean that we accept more code because a bound like `?Iterator` is still invalid as it's not relaxing a *default* trait and the only way to define / use more default bounds is under the experimental and internal feature `more_maybe_bounds` plus `lang_items` plus unstable flag `-Zexperimental-default-bounds` (historical context: for the longest time, bounds like `?Iterator` were actually allowed and lead to a hard warning). Ultimately, this simply *reframes* the diagnostic. The scope of `more_maybe_bounds` / `-Zexperimental-default-bounds` remains unchanged as well.
2025-07-18Merge pull request #1878 from ↵Folkert de Vries-12/+19
madhav-madhusoodanan/intrinsic-test-box-removing-and-more `intrinsic-test`: Implemented DerefMut for ArmIntrinsicTest
2025-07-18populate the target_config now before its usage and update the test accordinglybit-aloo-2/+3
2025-07-18Reword diagnostic about relaxing non-`Sized` boundLeón Orell Valerian Liehr-117/+131
* The phrasing "only does something for" made sense back when this diagnostic was a (hard) warning. Now however, it's simply a hard error and thus completely rules out "doing something". * The primary message was way too long * The new wording more closely mirrors the wording we use for applying other bound modifiers (like `const` and `async`) to incompatible traits. * "all other traits are not bound by default" is no longer accurate under Sized Hierarchy. E.g., traits and assoc tys are (currently) bounded by `MetaSized` by default but can't be relaxed using `?MetaSized` (instead, you relax it by adding `PointeeSized`). * I've decided against adding any diagnositic notes or suggestions for now like "trait `Trait` can't be relaxed as it's not bound by default" which would be incorrect for `MetaSized` and assoc tys as mentioned above) or "consider changing `?MetaSized` to `PointeeSized`" as the Sized Hierarchy impl is still WIP)
2025-07-18Reword diagnostics about relaxed bounds in invalid contextsLeón Orell Valerian Liehr-240/+125
2025-07-18Merge pull request #1861 from folkertdev/streamline-c-compilationFolkert de Vries-159/+107
`intrinsic-test`: streamline c compilation
2025-07-18Merge pull request #1877 from folkertdev/check-stdarch-genFolkert de Vries-2/+25
Check that the checked-in version of `stdarch-gen-{arm, loongarch}` is up-to-date
2025-07-18improve cpp compiler executionFolkert de Vries-144/+92
2025-07-18Merge pull request #4475 from RalfJung/native-lib-optionalRalf Jung-37/+54
make native-lib support compile-time-optional, and centralize cfg usage
2025-07-18pass the whole config to C compiler constructionFolkert de Vries-31/+31
2025-07-18add CI action to check that generated files are correctly checked inFolkert de Vries-0/+23
2025-07-18RA config: disable default features for faster build script buildRalf Jung-0/+2
2025-07-18make native-lib support compile-time-optional, and centralize cfg usageRalf Jung-37/+52
2025-07-18Auto merge of #144114 - lnicola:sync-from-ra, r=lnicolabors-1185/+3731
Subtree update of `rust-analyzer` r? `@ghost`
2025-07-18opt-dist: make llvm builds optionalMaksim Bondarenkov-56/+87
adds command line option for disabling llvm builds. it's useful in case of user having their own optimized LLVM, so they won't waste time for (at least) 3 LLVM builds. in this case PGO optimized will be already built in Stage 1, so my previous PR should be addressed for this change
2025-07-18Show the memory of uninit readsOli Scherer-163/+302
2025-07-18bootstrap: Detect musl hostsJens Reidel-1/+6
Currently, all non-Android Linux hosts are assumed to be using glibc. This obviously isn't very portable and will currently result in downloading a stage0 toolchain for glibc even on musl hosts. There are multiple ways to detect musl somewhat reliably, but the easiest option is to check for the python SOABI config variable, which has values like "cpython-313-x86_64-linux-gnu" or "cpython-313-powerpc64-linux-musl". Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2025-07-18update commentlcnr-4/+2
2025-07-18Make emit-arity-indicator.rs a no_core testNikita Popov-3/+11
The presence of `@add-core-stubs` indicates that this was already intended.
2025-07-18Pass wasm exception model to TargetOptionsNikita Popov-2/+11
This is no longer implied by -wasm-enable-eh.
2025-07-18Update AMDGPU data layoutNikita Popov-1/+6
2025-07-18Merge pull request #4474 from rust-lang/rustup-2025-07-18Ralf Jung-2188/+4071
Automatic Rustup
2025-07-18Merge pull request #20251 from lnicola/update-lockfileLaurențiu Nicola-0/+3
minor: Update lockfile
2025-07-18Auto merge of #144109 - matthiaskrgr:rollup-mz0mrww, r=matthiaskrgrbors-1851/+1336
Rollup of 11 pull requests Successful merges: - rust-lang/rust#142300 (Disable `tests/run-make/mte-ffi` because no CI runners have MTE extensions enabled) - rust-lang/rust#143271 (Store the type of each GVN value) - rust-lang/rust#143293 (fix `-Zsanitizer=kcfi` on `#[naked]` functions) - rust-lang/rust#143719 (Emit warning when there is no space between `-o` and arg) - rust-lang/rust#143846 (pass --gc-sections if -Zexport-executable-symbols is enabled and improve tests) - rust-lang/rust#143891 (Port `#[coverage]` to the new attribute system) - rust-lang/rust#143967 (constify `Option` methods) - rust-lang/rust#144008 (Fix false positive double negations with macro invocation) - rust-lang/rust#144010 (Boostrap: add warning on `optimize = false`) - rust-lang/rust#144049 (rustc-dev-guide subtree update) - rust-lang/rust#144056 (Copy GCC sources into the build directory even outside CI) r? `@ghost` `@rustbot` modify labels: rollup
2025-07-18Update lockfileLaurențiu Nicola-0/+3
2025-07-18bootstrap: Ignore `rust.debuginfo-level-tests` for codegen testsMartin Nordholts-1/+18
codegen tests typically depend on the raw LLVM IR output and are sensitive to debuginfo level. So do not apply `rust.debuginfo-level-tests` for codegen tests. Before this commit: $ ./x test --set rust.debuginfo-level-tests=2 tests/codegen --force-rerun test result: FAILED. 654 passed; 136 failed; 75 ignored; 0 measured; 0 filtered out; finished in 3.22s After this commit: $ ./x test --set rust.debuginfo-level-tests=2 tests/codegen --force-rerun NOTE: ignoring `rust.debuginfo-level-tests=2` for codegen tests test result: ok. 790 passed; 0 failed; 75 ignored; 0 measured; 0 filtered out; finished in 3.21s
2025-07-18Merge from rustcThe Miri Cronjob Bot-2187/+4070
2025-07-18Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-07-18Clean up an unused compiler-stage parameterZalathar-11/+6
2025-07-18Don't trigger an LLVM build from check builds using the stage 0 compilerZalathar-18/+19
2025-07-18Split some multi-snapshot tests to make blessing easierZalathar-0/+8
When a snapshot test fails, it only emits a `.pending-snap` file for the first snapshot assertion that actually failed, because subsequent assertions aren't executed. That makes it cumbersome to re-bless tests that contain multiple snapshot assertions.
2025-07-18loongarch: Mark partial basic intrinsics as safeWANG Rui-44/+41
2025-07-18Rollup merge of #144056 - Kobzol:gcc-build-src, r=nikicMatthias Krüger-14/+11
Copy GCC sources into the build directory even outside CI It takes ~3.5s on my Linux notebook to perform the copy, but it should only be executed when we actually go build GCC, and that will almost certainly take much longer :) So I think it should be fine. At least we won't be polluting the source directory for local builds. Fixes: https://github.com/rust-lang/rust/issues/143986 r? `````@nikic`````
2025-07-18Rollup merge of #144049 - tshepang:rust-push, r=jieyouxuMatthias Krüger-983/+151
rustc-dev-guide subtree update r? ghost
2025-07-18Rollup merge of #144010 - xdoardo:bootstrap-warning-optimize-false, r=clubby789Matthias Krüger-0/+8
Boostrap: add warning on `optimize = false` I recently came across a bug that can be traced back to the use of `optimize = false` in `bootstrap.toml` in combination with other settings. Following [this](https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/Missing.20box-related.20symbols.20with.20panic.20.3D.20'abort'/with/528992909) conversation, this PR adds a warning from `bootstrap` when `optimize = false` is used. I notice that in the same file I edited there are two different styles for warnings (`WARN`, `Warning`). I used `WARNING` because, by happenstance, when testing I got a `WARNING` that I didn't set a change id: let me know if I can unify the styles in the file I edited.
2025-07-18Rollup merge of #144008 - anatawa12:fix-double-negations, r=compiler-errorsMatthias Krüger-0/+38
Fix false positive double negations with macro invocation This PR fixes false positive double_negations lint when macro expansion has negation and macro caller also has negations. Fix rust-lang/rust#143980
2025-07-18Rollup merge of #143967 - oli-obk:const-option-methods, r=fee1-deadMatthias Krüger-40/+97
constify `Option` methods r? ```````@fee1-dead``````` tracking issue: rust-lang/rust#143956 these unblock making `PartialOrd` and `Ord` const without resorting to inlining some of these at call sites.
2025-07-18Rollup merge of #143891 - scrabsha:push-xxtttopqoprr, r=jdonszelmannMatthias Krüger-405/+377
Port `#[coverage]` to the new attribute system r? ``````@jdonszelmann``````
2025-07-18Rollup merge of #143846 - usamoi:gc, r=bjorn3Matthias Krüger-56/+40
pass --gc-sections if -Zexport-executable-symbols is enabled and improve tests Exported symbols are added as GC roots in linking, so `--gc-sections` won't hurt `-Zexport-executable-symbols`. Fixes the run-make test to work on Linux. Enable the ui test on more targets. cc rust-lang/rust#84161
2025-07-18Rollup merge of #143293 - folkertdev:naked-function-kcfi, r=compiler-errorsMatthias Krüger-3/+3
fix `-Zsanitizer=kcfi` on `#[naked]` functions fixes https://github.com/rust-lang/rust/issues/143266 With `-Zsanitizer=kcfi`, indirect calls happen via generated intermediate shim that forwards the call. The generated shim preserves the attributes of the original, including `#[unsafe(naked)]`. The shim is not a naked function though, and violates its invariants (like having a body that consists of a single `naked_asm!` call). My fix here is to match on the `InstanceKind`, and only use `codegen_naked_asm` when the instance is not a `ReifyShim`. That does beg the question whether there are other `InstanceKind`s that could come up. As far as I can tell the answer is no: calling via `dyn` seems to work find, and `#[track_caller]` is disallowed in combination with `#[naked]`. r? codegen ````@rustbot```` label +A-naked cc ````@maurer```` ````@rcvalle````
2025-07-18Rollup merge of #143719 - xizheyin:142812-1, r=jieyouxuMatthias Krüger-0/+147
Emit warning when there is no space between `-o` and arg Closes rust-lang/rust#142812 `getopt` doesn't seem to have an API to check this, so we have to check the args manually. r? compiler
2025-07-18Rollup merge of #143293 - folkertdev:naked-function-kcfi, r=compiler-errorsMatthias Krüger-36/+147
fix `-Zsanitizer=kcfi` on `#[naked]` functions fixes https://github.com/rust-lang/rust/issues/143266 With `-Zsanitizer=kcfi`, indirect calls happen via generated intermediate shim that forwards the call. The generated shim preserves the attributes of the original, including `#[unsafe(naked)]`. The shim is not a naked function though, and violates its invariants (like having a body that consists of a single `naked_asm!` call). My fix here is to match on the `InstanceKind`, and only use `codegen_naked_asm` when the instance is not a `ReifyShim`. That does beg the question whether there are other `InstanceKind`s that could come up. As far as I can tell the answer is no: calling via `dyn` seems to work find, and `#[track_caller]` is disallowed in combination with `#[naked]`. r? codegen ````@rustbot```` label +A-naked cc ````@maurer```` ````@rcvalle````