Commit Graph

285822 Commits

Author SHA1 Message Date
bjorn3
94ac6e557f Update to Cranelift 0.117 2025-02-26 09:14:43 +00:00
Jakub Beránek
ee8ed8c207 Update gcc submodule
To add support for the x87 feature.
2025-02-26 09:23:52 +01:00
Oli Scherer
88a8309a4b Merge pull request #4210 from tiif/small-fix-2
Resolve more FIXMEs
2025-02-26 06:33:17 +00:00
bors
2b3cef882a Auto merge of #137651 - fmease:rollup-s3s7m6f, r=fmease
Rollup of 14 pull requests

Successful merges:

 - #136576 (pass optimization level to llvm-bitcode-linker)
 - #137154 (Add UTF-8 validation fast paths in `Wtf8Buf`)
 - #137311 (Enable `f16` for MIPS)
 - #137320 (fix(rustdoc): Fixed stability version in rustdoc)
 - #137529 (remove few unused args)
 - #137544 (tests: Add regression test for derive token invalidation (#81099))
 - #137559 (run some tests on emscripten again)
 - #137601 (ssa/mono: deduplicate `type_has_metadata`)
 - #137603 (codegen_llvm: avoid `Deref` impls w/ extern type)
 - #137604 (trait_sel: resolve vars in host effects)
 - #137609 (Complete the list of resources used in rustdoc output)
 - #137613 (hir_analysis: skip self type of host effect preds in variances_of)
 - #137614 (fix doc in library/core/src/pin.rs)
 - #137622 (fix attribute-related ICE when parsing macro on the rhs of a name-value attribute)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-02-26 06:21:59 +00:00
Chayim Refael Friedman
3b4e268d81 Merge pull request #19204 from kazatsuyu/allow-package-specific-feature
Allow "package/feature" format feature flag
2025-02-26 06:01:12 +00:00
Oli Scherer
366912323b Merge pull request #4211 from rust-lang/rustup-2025-02-26
Automatic Rustup
2025-02-26 05:50:22 +00:00
The Miri Cronjob Bot
530b35b805 fmt 2025-02-26 05:07:23 +00:00
The Miri Cronjob Bot
81401ca4ef Merge from rustc 2025-02-26 05:06:08 +00:00
The Miri Cronjob Bot
292256e9c3 Preparing for merge from rustc 2025-02-26 04:59:11 +00:00
tiif
6de7fd1fee Resolve more FIXMEs 2025-02-26 12:47:41 +08:00
León Orell Valerian Liehr
1bb43192a2 Rollup merge of #137622 - jdonszelmann:fix-137589, r=compiler-errors
fix attribute-related ICE when parsing macro on the rhs of a name-value attribute

r? ``@oli-obk``

Closes: #137589
2025-02-26 04:15:09 +01:00
León Orell Valerian Liehr
0d4af0861e Rollup merge of #137614 - xizheyin:issue-134874, r=cuviper
fix doc in library/core/src/pin.rs

Fixes #134874
2025-02-26 04:15:08 +01:00
León Orell Valerian Liehr
cf8498d36a Rollup merge of #137613 - davidtwco:const-traits-variances, r=compiler-errors
hir_analysis: skip self type of host effect preds in variances_of

Discovered as part of an implementation of rust-lang/rfcs#3729 - w/out this then when introducing const trait bounds: many more interesting tests change with different output, missing errors, new errors, etc related to this but they all depend on feature flags and are much more complex than this test.

r? ``@oli-obk``
2025-02-26 04:15:08 +01:00
León Orell Valerian Liehr
a82ad9494c Rollup merge of #137609 - ColinPitrat:master, r=GuillaumeGomez
Complete the list of resources used in rustdoc output

The Nanum Barun Gothic Font was missing in the list and should clearly be mentionned.

Arguably referencing the Rust logos is not really necessary as the file mentions "third party resources" but it doesn't hurt and should make things clearer for anybody who wants to publish their Rust doc.
2025-02-26 04:15:07 +01:00
León Orell Valerian Liehr
677295aa85 Rollup merge of #137604 - davidtwco:host-effect-resolve-vars, r=compiler-errors
trait_sel: resolve vars in host effects

In the standard library, the `Extend` impl for `Iterator` (specialised with `TrustedLen`) has a parameter which is constrained by a projection predicate. This projection predicate provides a value for an inference variable but - if the default bound is `const Sized` instead of `Sized` - host effect evaluation wasn't resolving variables first. Added a test that doesn't depend on a rust-lang/rfcs#3729 implementation.

Adding the extra resolve can the number of errors in some tests when they gain host effect predicates, but this is not unexpected as calls to `resolve_vars_if_possible` can cause more error tainting to happen.
2025-02-26 04:15:07 +01:00
León Orell Valerian Liehr
a579a23a73 Rollup merge of #137603 - davidtwco:extern-types-no-deref, r=lcnr
codegen_llvm: avoid `Deref` impls w/ extern type

`rustc_codegen_llvm` relied on `Deref` impls where `Deref::Target` was or contained an extern type - in my experimental implementation of rust-lang/rfcs#3729, this isn't possible as the `Target` associated type's `?Sized` bound cannot be relaxed backwards compatibly (unless we come up with some way of doing this).

In later pull requests with the rust-lang/rfcs#3729 implementation, breakage like this could only occur for nightly users relying on the `extern_types` feature.

Upstreaming this to avoid needing to keep carrying this patch locally, and I think it'll necessarily need to change eventually.
2025-02-26 04:15:06 +01:00
León Orell Valerian Liehr
51085b21ce Rollup merge of #137601 - davidtwco:deduplicate-type-has-metadata, r=fmease,bjorn3
ssa/mono: deduplicate `type_has_metadata`

The implementation of the `type_has_metadata` function is duplicated in `rustc_codegen_ssa` and `rustc_monomorphize`, so move this to `rustc_middle`.
2025-02-26 04:15:05 +01:00
León Orell Valerian Liehr
f1923142c3 Rollup merge of #137559 - folkertdev:run-more-emscripten-tests, r=fmease
run some tests on emscripten again

these were ignored because of #45351, but that issue has long been fixed. Let's see if these pass, or if there is some issue lurking still

I believe this is the try-job for emscripten? probably a good idea to run that first.

~~try-job: test-various~~
try-job: dist-various-1
2025-02-26 04:15:05 +01:00
León Orell Valerian Liehr
ef2164fd3b Rollup merge of #137544 - petrochenkov:deritest, r=fmease
tests: Add regression test for derive token invalidation (#81099)

Closes https://github.com/rust-lang/rust/issues/81099.
2025-02-26 04:15:04 +01:00
León Orell Valerian Liehr
292c003ce7 Rollup merge of #137529 - klensy:unused3, r=lcnr
remove few unused args
2025-02-26 04:15:04 +01:00
León Orell Valerian Liehr
ef539221f6 Rollup merge of #137320 - tapanprakasht:fix-doc-version-stability, r=notriddle
fix(rustdoc): Fixed stability version in rustdoc

Tries to fix https://github.com/rust-lang/rust/issues/137141
Fixed by adding checks glob exports
2025-02-26 04:15:03 +01:00
León Orell Valerian Liehr
49249eae11 Rollup merge of #137311 - martn3:enable-f16-mips, r=tgross35
Enable `f16` for MIPS

Blocked on https://github.com/rust-lang/compiler-builtins/pull/762

It seems as if `f16` works on MIPS now according to my testing on Rust master with LLVM 20, and I was asked [here](https://github.com/rust-lang/rust/pull/137167#issuecomment-2669387820) to create PRs with my changes.

I only tested on the flavour of `mipsel-unknown-linux-gnu` hardware that happens to be available to me, so I can't say anything about other MIPS hardware, but from a casual skimming of the LLVM code ([1], [2]) it seems like `f16` should work on all MIPS hardware. So enable it for all MIPS hardware.

[1]: https://github.com/rust-lang/llvm-project/blob/rustc/20.1-2025-02-13/llvm/lib/Target/Mips/MipsISelLowering.h#L370
[2]: https://github.com/rust-lang/llvm-project/blob/rustc/20.1-2025-02-13/llvm/lib/CodeGen/TargetLoweringBase.cpp#L1367-L1388

`@rustbot` label +O-MIPS +F-f16_and_f128 +S-blocked

Tracking issue for f16: https://github.com/rust-lang/rust/issues/116909

r? `@tgross35`
2025-02-26 04:15:03 +01:00
León Orell Valerian Liehr
e121dcffbe Rollup merge of #137154 - thaliaarchi:wtf8-fast-paths, r=ChrisDenton
Add UTF-8 validation fast paths in `Wtf8Buf`

This adds two more fast paths for UTF-8 validation in `Wtf8Buf`, making use of the `is_known_utf8` flag added in https://github.com/rust-lang/rust/pull/96869 (Optimize `Wtf8Buf::into_string` for the case where it contains UTF-8).

r? `@ChrisDenton`
2025-02-26 04:15:02 +01:00
León Orell Valerian Liehr
1cdd38666b Rollup merge of #136576 - usamoi:pass-more-llbc, r=fmease
pass optimization level to llvm-bitcode-linker

optimization level is not passed to llbc, which should be a mistake
2025-02-26 04:15:01 +01:00
bors
a46c755c6a Auto merge of #136921 - Kobzol:gcc-build, r=onur-ozkan
Build GCC on CI

Previously, we have downloaded a specific commit of GCC and prebuilt it inside Docker using the `build-gccjit.sh` script. This PR removes that scripts and uses the bootstrap GCC step. This allows us to use the `src/gcc` submodule for determining which GCC should be built, and it also moves the logic closer to LLVM, which is also built by bootstrap.

A few things to note:
- The `sccache` option is currently in the `llvm` block, so the GCC build uses `llvm.ccache`, which is a bit weird :) We could either add `gcc.ccache`, or (what I think would be better) to just move `ccache` to the `build` section, as I don't think that it will be necessary to use ccache for LLVM, but not for GCC.
- When the GCC codegen backend is built, it needs to depend on a step that first builds GCC. This is currently done in a hacky way. The proper solution is to create a separate step for the GCC codegen backend, but that is a larger change. Let me know what you think.

r? `@onur-ozkan`

try-job: i686-msvc-1
try-job: x86_64-mingw-1
2025-02-26 03:04:21 +00:00
Bryce Berger
325bfef88d configuration option to lint incompatible_msrv in test code 2025-02-25 19:54:05 -05:00
bors
cb06d12710 Auto merge of #137594 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? `@ghost`

try-job: x86_64-gnu-aux
2025-02-25 22:59:40 +00:00
Augie Fackler
b41c232488 tests: fix up new test for nocapture -> capture(none) change
Same motivation as #136287, but for a newly introduced test. Rather than
over-constraining here, we just match the sret and accept pretty much
all other attributes.

@rustbot label llvm-main
r? @nikic
2025-02-25 17:46:05 -05:00
beetrees
a7bd4a309c Add DWARF test case for non-C-like repr128 enums 2025-02-25 22:26:52 +00:00
Boxy
69369a7f1c Merge pull request #2263 from BoxyUwU/rustc-pull2
Rustc pull
2025-02-25 21:37:33 +00:00
Boxy
d9683df7c2 Merge from rustc 2025-02-25 21:27:44 +00:00
Boxy
46392d1661 Preparing for merge from rustc 2025-02-25 21:22:45 +00:00
Kevin Reid
33ee398fda More precisely document Global::deallocate()'s safety.
There is a subtlety which "other conditions must be upheld by the caller"
does not capture: `GlobalAlloc`/`alloc::dealloc()` require that the
provided layout will be *equal*, not just that it "fits", the layout
used to allocate. This is always true here due to how `allocate()`,
`grow()`, and `shrink()` are implemented (they never return a larger
allocation than requested), but that is a non-local property of the
implementation, so it should be documented explicitly.
2025-02-25 13:07:52 -08:00
Takayuki Maeda
b7a549725c fix #137508
rename ui tests

check if res is trait def

fix typo

regression test for #137554
2025-02-26 05:11:18 +09:00
Michael Goulet
9313580e2a Don't suggest constraining unstable associated types 2025-02-25 20:02:01 +00:00
Ralf Jung
039af88e09 also fix potential issues with mixed stable/unstable target features in rustdoc 2025-02-25 20:38:13 +01:00
bors
309d6b0375 Auto merge of #137608 - fmease:rollup-h4siso6, r=fmease
Rollup of 8 pull requests

Successful merges:

 - #137370 (adjust_abi: make fallback logic for ABIs a bit easier to read)
 - #137444 (Improve behavior of `IF_LET_RESCOPE` around temporaries and place expressions)
 - #137464 (Fix invalid suggestion from type error for derive macro)
 - #137539 ( Add rustdoc-gui regression test for #137082 )
 - #137576 (Don't doc-comment BTreeMap<K, SetValZST, A>)
 - #137595 (remove `simd_fpow` and `simd_fpowi`)
 - #137600 (type_ir: remove redundant part of comment)
 - #137602 (feature: fix typo in attribute description)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-02-25 19:36:17 +00:00
bors
85abb27636 Auto merge of #137608 - fmease:rollup-h4siso6, r=fmease
Rollup of 8 pull requests

Successful merges:

 - #137370 (adjust_abi: make fallback logic for ABIs a bit easier to read)
 - #137444 (Improve behavior of `IF_LET_RESCOPE` around temporaries and place expressions)
 - #137464 (Fix invalid suggestion from type error for derive macro)
 - #137539 ( Add rustdoc-gui regression test for #137082 )
 - #137576 (Don't doc-comment BTreeMap<K, SetValZST, A>)
 - #137595 (remove `simd_fpow` and `simd_fpowi`)
 - #137600 (type_ir: remove redundant part of comment)
 - #137602 (feature: fix typo in attribute description)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-02-25 19:36:17 +00:00
Ralf Jung
b6f2240000 rustdoc: disable forbidden #[target_feature] check 2025-02-25 20:26:12 +01:00
Jakub Beránek
5d65732511 Merge pull request #2262 from Kobzol/rustc-pull-ci-fix
Fix posting message to Zulip
2025-02-25 18:57:26 +01:00
Jakub Beránek
9423634997 Fix posting message to Zulip 2025-02-25 18:56:14 +01:00
Esteban Küber
c550bee641 Fix rebase 2025-02-25 17:27:22 +00:00
Jana Dönszelmann
4bf66c57fa fix #137589 2025-02-25 18:17:32 +01:00
Ralf Jung
716dd22c04 disable float non-determinism for now to be able to complete the sync 2025-02-25 18:01:53 +01:00
Esteban Küber
a4e89deb52 add doc comment detail 2025-02-25 16:56:04 +00:00
Esteban Küber
26f74ef586 Make E0609 a structured error 2025-02-25 16:56:04 +00:00
Esteban Küber
7302dc660b Make E0614 a structured error
```
error[E0614]: type `(..., ..., ..., ...)` cannot be dereferenced
  --> $DIR/long-E0614.rs:10:5
   |
LL |     *x;
   |     ^^ can't be dereferenced
   |
   = note: the full name for the type has been written to '$TEST_BUILD_DIR/$FILE.long-type-hash.txt'
   = note: consider using `--verbose` to print the full type name to the console
```
2025-02-25 16:56:04 +00:00
Esteban Küber
ae3a825faa Make E0529 a structured error 2025-02-25 16:56:04 +00:00
Esteban Küber
693ed264ce Add tests 2025-02-25 16:56:04 +00:00
Esteban Küber
d12ecaed55 Teach structured errors to display short Ty
Make it so that every structured error annotated with `#[derive(Diagnostic)]` that has a field of type `Ty<'_>`, the printing of that value into a `String` will look at the thread-local storage `TyCtxt` in order to shorten to a length appropriate with the terminal width. When this happen, the resulting error will have a note with the file where the full type name was written to.

```
error[E0618]: expected function, found `((..., ..., ..., ...), ..., ..., ...)``
 --> long.rs:7:5
  |
6 | fn foo(x: D) { //~ `x` has type `(...
  |        - `x` has type `((..., ..., ..., ...), ..., ..., ...)`
7 |     x(); //~ ERROR expected function, found `(...
  |     ^--
  |     |
  |     call expression requires function
  |
  = note: the full name for the type has been written to 'long.long-type-14182675702747116984.txt'
  = note: consider using `--verbose` to print the full type name to the console
```
2025-02-25 16:56:03 +00:00