about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-01-06avoid replacing the definition of CURRENT_RUSTC_VERSIONPietro Albini-7/+7
Before this commit, replace-version-placeholder hardcoded the path defining CURRENT_RUSTC_VERSION (to avoid replacing it). After a refactor moved the file defining it without changing the hardcoded path, the tool started replacing the constant itself with the version number. To avoid this from happening in the future, this changes the definition of the constant to avoid the tool from ever matching it.
2025-01-06Auto merge of #135112 - tgross35:combine-select-unpredictable-test, r=the8472bors-36/+38
Merge the intrinsic and user tests for `select_unpredictable` [1] mentions that having a single test with `-Zmerge-functions=disabled` is preferable to having two separate tests. Apply that to the new `select_unpredictable` test here. [1]: https://github.com/rust-lang/rust/pull/133964#issuecomment-2569693325
2025-01-06Auto merge of #135151 - matthiaskrgr:rollup-2vy1hwl, r=matthiaskrgrbors-57/+108
Rollup of 6 pull requests Successful merges: - #135111 (Add doc aliases for `libm` and IEEE names) - #135129 (triagebot: label `src/doc/rustc-dev-guide` changes with `A-rustc-dev-guide`) - #135132 (dev guide ping group and set adhoc reviewers to compiler) - #135145 (Mention `unnameable_types` in `unreachable_pub` documentation.) - #135147 (A few borrowck tweaks to improve 2024 edition migration lints) - #135150 (move footnote to ordinary comment) r? `@ghost` `@rustbot` modify labels: rollup
2025-01-06Rollup merge of #135150 - lcnr:unconstrained-lts-comment, r=oli-obkMatthias Krüger-15/+15
move footnote to ordinary comment cc #135057
2025-01-06Rollup merge of #135147 - compiler-errors:borrowck-tweaks, r=chenyukangMatthias Krüger-37/+69
A few borrowck tweaks to improve 2024 edition migration lints See first two commits' changes to test outputs. Test coverage in this area is kinda weak, but I think it affects more cases than this (like the craters that will begin to trigger the `tail_expr_drop_order` tests in #134523). Third commit is a drive-by change that removes a deref hack from `UseSpans` which doesn't really improve diagnostics much.
2025-01-06Rollup merge of #135145 - kpreid:unnameable, r=compiler-errorsMatthias Krüger-4/+6
Mention `unnameable_types` in `unreachable_pub` documentation. This link makes sense because someone who wishes to avoid unusable `pub` is likely, but not guaranteed, to be interested in avoiding unnameable types. Also fixed some grammar problems I noticed in the area. Fixes #116604. r? Urgau
2025-01-06Rollup merge of #135132 - BoxyUwU:rdg_ping_group, r=jieyouxuMatthias Krüger-1/+5
dev guide ping group and set adhoc reviewers to compiler r? ``@jieyouxu`` ``@Kobzol`` I added you both to the `cc` list since you're both also on the list of owners for `src/doc/rustc-dev-guide`
2025-01-06Rollup merge of #135129 - jieyouxu:tag-r-d-g, r=BoxyUwUMatthias Krüger-0/+5
triagebot: label `src/doc/rustc-dev-guide` changes with `A-rustc-dev-guide` Probably should also create a dev-guide reviewer pool for this repo 🤔 r? ``@Kobzol``
2025-01-06Rollup merge of #135111 - tgross35:float-doc-aliases, r=NoratriebMatthias Krüger-0/+8
Add doc aliases for `libm` and IEEE names Searching "fma" in the Rust documentation returns results for `intrinsics::fma*`, but does not point to the user-facing `mul_add`. Add aliases for `fma*` and the IEEE operation name `fusedMultiplyAdd`. Add the IEEE name to `sqrt` as well, `squareRoot`.
2025-01-06footnote to ordinary commentlcnr-15/+15
2025-01-06Auto merge of #135085 - knickish:m68k_unknown_none, r=workingjubileebors-0/+148
add m68k-unknown-none-elf target r? `@workingjubilee` The existing `m68k-unknown-linux-gnu` target builds `std` by default, requires atomics, and has a base cpu with an fpu. A smaller/more embedded target is desirable both to have a baseline target for the ISA, as well to make debugging easier for working on the llvm backend. Currently this target is using the `M68010` as the minimum CPU due, but as missing features are merged into the `M68k` llvm backend I am hoping to lower this further. I have been able to build very small crates using a toolchain built against this target (together with a later version of `object`) using the configuration described in the target platform-support documentation, although getting anything of substantial complexity to build quickly hits errors in the llvm backend
2025-01-06Remove CallKind::Deref hack from UseSpansMichael Goulet-15/+6
It's not really necessary
2025-01-06Improve find_self_call with reborrowed receiverMichael Goulet-20/+28
2025-01-06Improve span when temporary receiver is dropped in edition 2024Michael Goulet-2/+35
2025-01-06Auto merge of #135140 - jhpratt:rollup-pn2gi84, r=jhprattbors-51/+72
Rollup of 3 pull requests Successful merges: - #135115 (cg_llvm: Use constants for DWARF opcodes, instead of FFI calls) - #135118 (Clarified the documentation on `core::iter::from_fn` and `core::iter::successors`) - #135121 (Mark `slice::reverse` unstably const) r? `@ghost` `@rustbot` modify labels: rollup
2025-01-05Mention `unnameable_types` in `unreachable_pub` documentation.Kevin Reid-4/+6
This link makes sense because someone who wishes to avoid unusable `pub` is likely, but not guaranteed, to be interested in avoiding unnameable types. Also fixed some grammar problems I noticed in the area. Fixes #116604.
2025-01-05Rollup merge of #135121 - okaneco:const_slice_reverse, r=jhprattJacob Pratt-3/+5
Mark `slice::reverse` unstably const Tracking issue #135120 This is unblocked by the stabilization of `const_swap`
2025-01-05Rollup merge of #135118 - ranger-ross:better-docs-on-iter-fns, r=jhprattJacob Pratt-0/+3
Clarified the documentation on `core::iter::from_fn` and `core::iter::successors` This PR clarifies the closure requirements for `core::iter::from_fn` and `core::iter::successors`. `std::iter::successors` in particular is a bit difficult to understand if you are not already familiar with the signature of [`checked_mul`](https://docs.rs/num/latest/num/trait.CheckedMul.html) used in the example. See https://github.com/rust-lang/rust/issues/135087
2025-01-05Rollup merge of #135115 - Zalathar:dwarf-const, r=workingjubileeJacob Pratt-48/+64
cg_llvm: Use constants for DWARF opcodes, instead of FFI calls Split off from #134009 to incorporate feedback from https://github.com/rust-lang/rust/pull/134009#discussion_r1903133906. Most of the constant values now come from gimli, which is already a compiler dependency. I noticed that `DW_OP_LLVM_fragment` is an LLVM detail that is not defined by DWARF and could hypothetically change, so I added a static assertion on the C++ side to detect that if it ever happens. r? workingjubilee
2025-01-05Auto merge of #134794 - RalfJung:abi-required-target-features, r=workingjubileebors-787/+831
Add a notion of "some ABIs require certain target features" I think I finally found the right shape for the data and checks that I recently added in https://github.com/rust-lang/rust/pull/133099, https://github.com/rust-lang/rust/pull/133417, https://github.com/rust-lang/rust/pull/134337: we have a notion of "this ABI requires the following list of target features, and it is incompatible with the following list of target features". Both `-Ctarget-feature` and `#[target_feature]` are updated to ensure we follow the rules of the ABI. This removes all the "toggleability" stuff introduced before, though we do keep the notion of a fully "forbidden" target feature -- this is needed to deal with target features that are actual ABI switches, and hence are needed to even compute the list of required target features. We always explicitly (un)set all required and in-conflict features, just to avoid potential trouble caused by the default features of whatever the base CPU is. We do this *before* applying `-Ctarget-feature` to maintain backward compatibility; this poses a slight risk of missing some implicit feature dependencies in LLVM but has the advantage of not breaking users that deliberately toggle ABI-relevant target features. They get a warning but the feature does get toggled the way they requested. For now, our logic supports x86, ARM, and RISC-V (just like the previous logic did). Unsurprisingly, RISC-V is the nicest. ;) As a side-effect this also (unstably) allows *enabling* `x87` when that is harmless. I used the opportunity to mark SSE2 as required on x86-64, to better match the actual logic in LLVM and because all x86-64 chips do have SSE2. This infrastructure also prepares us for requiring SSE on x86-32 when we want to use that for our ABI (and for float semantics sanity), see https://github.com/rust-lang/rust/issues/133611, but no such change is happening in this PR. r? `@workingjubilee`
2025-01-05Auto merge of #135127 - Kobzol:rustc-dev-guide-sync, r=BoxyUwUbors-433/+1249
rustc-dev-guide subtree update This PR performs the first update of rustc-dev-guide code from its repository. r? `@BoxyUwU`
2025-01-05rustc-dev-guide changes ping groupBoxy-1/+5
2025-01-06triagebot: label `src/doc/rustc-dev-guide` changes with `A-rustc-dev-guide`许杰友 Jieyou Xu (Joe)-0/+5
2025-01-05Preparing for merge from rustcJakub Beránek-0/+1
2025-01-05Remove other maintainersknickish-2/+0
Co-authored-by: Jubilee <workingjubilee@gmail.com>
2025-01-05Auto merge of #135125 - bjorn3:sync_cg_clif-2025-01-05, r=bjorn3bors-255/+123
Subtree sync for rustc_codegen_cranelift Aside from a Cranelift update, nothing major this time. r? `@ghost` `@rustbot` label +A-codegen +A-cranelift +T-compiler
2025-01-05Split stuff out of representing types, and rewrite early/late bound chapter ↵Boxy-370/+433
(#2192)
2025-01-05Describe how to use rust-analyzer with `rmake.rs` (#2191)Stuart Cook-0/+40
2025-01-05fix commentTshepang Mbambo-2/+1
2025-01-05make paragraph more readableTshepang Mbambo-3/+5
2025-01-05repetition not neededTshepang Mbambo-5/+5
2025-01-05Document josh subtrees and update subtree repository list (#2182)Jakub Beránek-9/+21
2025-01-05Add tooling for performing Josh synces (#2183)Jakub Beránek-43/+728
2025-01-05comment out FIXMEs to not display them on UI (#2186)Onur Özkan-6/+20
2025-01-05Update tidybjorn3-6/+3
2025-01-05Merge commit '918acafef682d0d0ca30b47de4768210417ff362' into ↵bjorn3-249/+120
sync_cg_clif-2025-01-05
2025-01-05Fix rustc test suitebjorn3-0/+2
2025-01-05Rustup to rustc 1.86.0-nightly (1891c2866 2025-01-04)bjorn3-1/+1
2025-01-05Sync from rust 1891c28669863bf7ed3ef8f43f2d3fa546f34861bjorn3-2/+2
2025-01-05Mark `slice::reverse` unstably constokaneco-3/+5
2025-01-05Explain why the `DW_TAG_*` constants remain as-is for nowZalathar-0/+4
2025-01-05Use constants for DWARF opcodes, instead of FFI callsZalathar-24/+18
2025-01-05Use gimli to get the values of DWARF constants needed by codegenZalathar-24/+42
The `gimli` crate is already a dependency of `thorin-dwp`, which is already a dependency of `rustc_codegen_ssa`.
2025-01-05Clarified the documentation on core::iter::from_fn and core::iter::successorsranger-ross-0/+3
2025-01-05Auto merge of #135109 - rust-lang:cargo_update, r=tgross35bors-53/+55
Weekly `cargo update` Automation to keep dependencies in `Cargo.lock` current. The following is the output from `cargo update`: ```txt compiler & tools dependencies: Locking 4 packages to latest compatible versions Updating bstr v1.11.1 -> v1.11.3 Updating spdx v0.10.7 -> v0.10.8 Updating syn v2.0.93 -> v2.0.94 Updating tempfile v3.14.0 -> v3.15.0 note: pass `--verbose` to see 35 unchanged dependencies behind latest library dependencies: Locking 0 packages to latest compatible versions note: pass `--verbose` to see 3 unchanged dependencies behind latest rustbook dependencies: Locking 5 packages to latest compatible versions Updating bstr v1.11.1 -> v1.11.3 Updating cc v1.2.6 -> v1.2.7 Updating syn v2.0.93 -> v2.0.94 Updating tempfile v3.14.0 -> v3.15.0 Updating winnow v0.6.20 -> v0.6.22 ```
2025-01-05add dedicated type for ABI target feature constraintsRalf Jung-31/+45
2025-01-05Expand the `select_unpredictable` test for ZSTsTrevor Gross-0/+5
For ZSTs there is no selection that needs to take place, so assert that no `select` statement is emitted.
2025-01-05Auto merge of #135074 - wzssyqa:mips-mti, r=oli-obkbors-4/+120
Target: Add mips mti baremetal support Do the same thing as gcc, which use the vendor `mti` to mark the toolchain as MIPS32r2 default. We support both big endian and little endian flavor: mips-mti-none-elf mipsel-mti-none-elf
2025-01-05Update src/doc/rustc/src/platform-support/mips-mti-none-elf.mdYunQiang Su-1/+1
Co-authored-by: Oli Scherer <github35764891676564198441@oli-obk.de>
2025-01-05change to static relocation modelkirk-1/+2