Commit graph

147387 commits

Author SHA1 Message Date
Eduardo Sánchez Muñoz
799a4ded54 Implement LLVM x86 AVX2 intrinsics 2024-04-23 18:59:53 +02:00
bors
95ae2dd7ff Auto merge of #3489 - rust-lang:rustup-2024-04-19, r=RalfJung
Automatic Rustup
2024-04-19 09:00:46 +00:00
Ralf Jung
fecd7fc937 make test not leak rustc crate hash 2024-04-19 10:59:27 +02:00
Ralf Jung
b9ed4cd70a share code between win-to-unix and unix-to-win path conversion 2024-04-19 09:17:37 +02:00
The Miri Cronjob Bot
d0783e8836 Merge from rustc 2024-04-19 05:13:02 +00:00
Michael Howell
2e7d9e9acb rustdoc-search: fix description on aliases in results
This needs to start downloading the descriptions after aliases
have been added to the result set.
2024-04-18 22:21:29 -07:00
The Miri Cronjob Bot
c1cf0a3e38 Preparing for merge from rustc 2024-04-19 05:05:48 +00:00
bors
e3181b091e Auto merge of #119912 - notriddle:notriddle/reexport-dedup, r=GuillaumeGomez
rustdoc-search: single result for items with multiple paths

Part of #15723

Preview: https://notriddle.com/rustdoc-html-demo-9/reexport-dup/std/index.html?search=hashmap

This change uses the same "exact" paths as trait implementors and type alias inlining to track items with multiple reachable paths. This way, if you search for `vec`, you get only the `std` exports of it, and not the one from `alloc`.

It still includes all the items in the search index so that you can search for them by all available paths. For example, try `core::option` and `std::option`, and notice that the results page doesn't show duplicates, but still shows all the items in their respective crates.
2024-04-18 21:23:15 +00:00
Ralf Jung
5067dd21b6 comment clarification and typo fix 2024-04-18 22:27:07 +02:00
scottmcm
b8ac5c0f91 Update src/bootstrap/src/core/builder.rs
Co-authored-by: Onur Özkan <onurozkan.dev@outlook.com>
2024-04-18 09:35:36 -07:00
Scott McMurray
90b4c86335 Ensure [rust] debuginfo-level-std doesn't change core's MIR 2024-04-18 09:35:36 -07:00
bors
c5de414865 Auto merge of #123144 - dpaoliello:arm64eclib, r=GuillaumeGomez,ChrisDenton,wesleywiser
Add support for Arm64EC to the Standard Library

Adds the final pieces so that the standard library can be built for arm64ec-pc-windows-msvc (initially added in #119199)

* Bumps `windows-sys` to 0.56.0, which adds support for Arm64EC.
* Correctly set the `isEC` parameter for LLVM's `writeArchive` function.
* Add `#![feature(asm_experimental_arch)]` to library crates where Arm64EC inline assembly is used, as it is currently unstable.
2024-04-18 12:22:52 +00:00
bors
1ce64e717f Auto merge of #3484 - RalfJung:realloc, r=RalfJung
make realloc with a size of zero fail

Fixes https://github.com/rust-lang/miri/issues/2774
2024-04-18 10:27:42 +00:00
Ralf Jung
5ff9b2b865 move allocator shim logic into its own file 2024-04-18 12:07:09 +02:00
Ralf Jung
73e333ac44 make realloc with a size of zero fail 2024-04-18 12:06:29 +02:00
bors
5c9924a599 Auto merge of #3486 - RalfJung:mir-validate, r=RalfJung
add test checking that we do run MIR validation

Fixes https://github.com/rust-lang/miri/issues/2840
2024-04-18 09:55:39 +00:00
Ralf Jung
5ef38aca35 add test checking that we do run MIR validation 2024-04-18 11:49:56 +02:00
bors
c25473ff62 Auto merge of #124008 - nnethercote:simpler-static_assert_size, r=Nilstrieb
Simplify `static_assert_size`s.

We want to run them on all 64-bit platforms.

r? `@ghost`
2024-04-18 09:47:45 +00:00
Ralf Jung
62e84d5ca0 move read_byte_slice to general helpers file, next to read_c_str 2024-04-18 10:58:49 +02:00
Ralf Jung
5c352a4e75 add test for Drop terminator on non-drop type 2024-04-18 10:23:22 +02:00
Matthias Krüger
7add0bdf7e
Rollup merge of #124047 - Jules-Bertholet:match-ergonomics-cleanups, r=Nadrieril
Match ergonomics 2024: miscellaneous code cleanups

- Store `ByRef` instead of `BindingAnnotation` in `PatInfo`
- Rename `BindingAnnotation` to `BindingMode`

r? ``@Nadrieril``

cc #123076

``@rustbot`` label A-patterns
2024-04-18 08:37:48 +02:00
Matthias Krüger
56f4ac308b
Rollup merge of #124041 - GuillaumeGomez:fix-copy-path-button, r=notriddle
Fix copy path button

Currently, on all nightly docs, clicking on the "copy path" button triggers a JS error. It's because changes in https://github.com/rust-lang/rust/pull/123706 forgot to update the JS (it contained an image before but not anymore).

I had to make some small changes in the CSS to fix the display when the button was clicked as well.

r? ``@notriddle``
2024-04-18 08:37:48 +02:00
Nicholas Nethercote
0d97669a17 Simplify static_assert_sizes.
We want to run them on all 64-bit platforms.
2024-04-18 15:36:25 +10:00
bors
9f432d7b44 Auto merge of #124044 - DianQK:update-llvm-18, r=cuviper
Update LLVM to 1deeee3

Fixes #123772.

Diff: af8f9eb61a...5399a24c66
Diff (From 18.1.2): 0af6c732ec...5399a24c66

r? `@cuviper`
2024-04-18 00:04:09 +00:00
bors
becebb3158 Auto merge of #123978 - alexcrichton:update-wasi-toolchain, r=Mark-Simulacrum
Update how WASI toolchains are used in CI and bootstrap

This commit updates how the WASI targets are configured with their toolchain. Long ago a `config.toml` option of `wasi-root` was added to enable building with the WASI files produced by wasi-libc. Additionally for CI testing and release building the Rust toolchain has been using a hard-coded commit of wasi-libc which is bundled with the release of the `wasm32-wasip1` target, for example.

Nowadays though the wasi-sdk project, the C/C++ toolchain for WASI, is the go-to solution for compiling/linking WASI code and contains the more-or-less official releases of wasi-libc. This commit migrates CI to using wasi-sdk releases and additionally updates `bootstrap` to recognize when this is configured. This means that with `$WASI_SDK_PATH` configured there's no further configuration necessary to get a working build. Notably this also works better for the new targets of WASI as well, such as `wasm32-wasip2` and `wasm32-wasip1-threads` where the wasi-sdk release now has libraries for all targets bundled within it.
2024-04-17 21:05:48 +00:00
Ralf Jung
7c3c2716ff fmt 2024-04-17 21:20:25 +02:00
Ralf Jung
3d3550ffa0 Merge from rustc 2024-04-17 20:38:23 +02:00
Ralf Jung
6a108a7477 Preparing for merge from rustc 2024-04-17 20:38:15 +02:00
Matthias Krüger
6388167811
Rollup merge of #124030 - RalfJung:adjust_alloc_base_pointer, r=oli-obk
interpret: pass MemoryKind to adjust_alloc_base_pointer

Another puzzle piece for https://github.com/rust-lang/miri/pull/3475.

The 2nd commit renames base_pointer -> root_pointer; that's how Tree Borrows already calls them and I think the term is more clear than "base pointer". In particular, this distinguishes it from "base address", since a root pointer can point anywhere into an allocation, not just its base address.

https://github.com/rust-lang/rust/pull/124018 has been rolled up already so I couldn't add it there any more.

r? ```@oli-obk```
2024-04-17 18:01:38 +02:00
Guillaume Gomez
ec754cf201 Fix copy-path button 2024-04-17 16:49:11 +02:00
Jules Bertholet
2a4624ddd1
Rename BindingAnnotation to BindingMode 2024-04-17 09:34:39 -04:00
bors
9776f647e6 Auto merge of #3480 - RalfJung:alloc_error_handler, r=RalfJung
directly call handle_alloc_error

Also test more codepaths. There's like 5 different things that can happen on allocation failure! Between `-Zoom`, `#[alloc_error_handler]`, and `set_alloc_error_hook`, we have 3 layers of behavior overrides. It's all a bit messy.

https://github.com/rust-lang/rust/pull/112331 seems intended to clean this up, but has not yet reached consensus.
2024-04-17 09:41:06 +00:00
Ralf Jung
9f156d38a5 no need to use miri's native stderr here 2024-04-17 09:47:16 +02:00
Ralf Jung
d7f79cc2b2 tests/utils: add fmt::Write implementations for miri's native stdout/stderr 2024-04-17 09:47:16 +02:00
Ralf Jung
d10f61313f alloc_error_handler tests: directly call handle_alloc_error; test more codepaths 2024-04-17 09:27:55 +02:00
bors
6c6b3027ef Auto merge of #123678 - DianQK:docker-local, r=Kobzol
Improve the experience of running Docker locally

When running locally, the absence of the `GITHUB_STEP_SUMMARY` environment variable will lead to the following error:

```
::endgroup::
./src/ci/docker/run.sh: line 349: : No such file or directory
```

I've also changed the output artifacts directory to `obj/$image_name`, allowing me to easily run all images locally. We always encounter various strange issues when modifying the test cases in the `codegen` directory.

r? Kobzol cc `@saethlin`
2024-04-17 06:47:39 +00:00
Ralf Jung
ae7b07f2dc interpret: rename base_pointer -> root_pointer
also in Miri, "base tag" -> "root tag"
2024-04-17 07:35:48 +02:00
Ralf Jung
9e239bdc76 interpret: pass MemoryKind to adjust_alloc_base_pointer 2024-04-17 07:35:48 +02:00
The Miri Cronjob Bot
2cb03ef739 fmt 2024-04-17 05:09:14 +00:00
The Miri Cronjob Bot
e8739886f2 Merge from rustc 2024-04-17 05:08:05 +00:00
The Miri Cronjob Bot
af28716f19 Preparing for merge from rustc 2024-04-17 04:57:09 +00:00
bors
b7581490aa Auto merge of #124055 - matthiaskrgr:rollup-waq2e68, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #122813 (Qualifier tweaking)
 - #122883 (refactor clippy in bootstrap)
 - #123997 (Delay span bug when `Self` kw resolves to `DefKind::{Mod,Trait}`)
 - #124045 (Reinstate nnethercote to the review rotation.)
 - #124051 (Fix empty-set symbol in comments)
 - #124052 (Make the comments for `ReturnDest` variants doc comments)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-04-17 04:13:31 +00:00
Matthias Krüger
8229a34102
Rollup merge of #122883 - onur-ozkan:clippy-build-step, r=albertlarsan68
refactor clippy in bootstrap

Previously, using clippy in bootstrap was not very useful as explained in #122825. In short, regardless of the given path clippy would always check the entire compiler and std tree. This makes it impossible to run clippy on different paths with different set of rules. This PR fixes that by allowing developers to run clippy with specific rules on specific paths (e.g., we can run `x clippy compiler -Aclippy::all -Dclippy::correctness` and `x clippy library/std -Dclippy::all` and none of them will affect each other).

Resolves #122825
2024-04-17 05:44:52 +02:00
Matthias Krüger
45940fe6d8
Rollup merge of #122813 - nnethercote:nicer-quals, r=compiler-errors
Qualifier tweaking

Adding and removing qualifiers in some cases that make things nicer. Details in individual commits.

r? `@compiler-errors`
2024-04-17 05:44:52 +02:00
bors
803e33a446 Auto merge of #124039 - weihanglo:update-cargo, r=weihanglo
Update cargo

11 commits in 48eca1b164695022295ce466b64b44e4e0228b08..6f06fe908a5ee0f415c187f868ea627e82efe07d
2024-04-12 21:16:36 +0000 to 2024-04-16 18:47:44 +0000
- fix(toml): Error on `[project]` in Edition 2024 (rust-lang/cargo#13747)
- feat(update): Include a Locking message (rust-lang/cargo#13759)
- chore(deps): update rust crate gix to 0.62.0 [security] (rust-lang/cargo#13760)
- test(schemas): Ensure tests cover the correct case (rust-lang/cargo#13761)
- feat(resolve): Tell the user the style of resovle done (rust-lang/cargo#13754)
- Make sure to also wrap the initial `-vV` invocation (rust-lang/cargo#13659)
- docs: update `checkout` GitHub action version (rust-lang/cargo#13757)
- Recategorize cargo test's `--doc` flag under "Target Selection" (rust-lang/cargo#13756)
- Reword sentence describing workspace toml for clarity (rust-lang/cargo#13753)
- docs(ref): Update unstable docs for msrv-policy (rust-lang/cargo#13751)
- refactor(config): Consistently use kebab-case (rust-lang/cargo#13748)

r? ghost
2024-04-17 02:06:45 +00:00
DianQK
374b7821a5
Update LLVM to 1deeee3 2024-04-17 06:28:22 +08:00
Guillaume Gomez
51cfa95668
Rollup merge of #124013 - RalfJung:box-to-raw, r=oli-obk
Box::into_raw: make Miri understand that this is a box-to-raw cast

Turns out https://github.com/rust-lang/rust/pull/122647 went a bit too far in cleaning up `Box`... we still need a hack in `Box::into_raw`. The nicer fix would be to make Stacked Borrows not care about reference-to-raw-pointer casts, but it's unclear whether that will ever be possible without going to full Tree Borrows.

Fixes https://github.com/rust-lang/miri/issues/3473.
2024-04-17 00:00:24 +02:00
Guillaume Gomez
ec1618cf17
Rollup merge of #123975 - lqd:rust-lld-tests, r=jieyouxu
Port the 2 `rust-lld` run-make tests to `rmake`

In preparation for finalizing most of the `rust-lld` work, this PR ports the following tests to `rmake`:
- `tests/run-make/rust-lld`
- `tests/run-make/rust-lld-custom-target`

As they use `$(CGREP) -e` I added `regex` as an exported dependency to the `run_make_support` library.

Unfortunately, the most recent versions depend on `memchr` 2.6.0 but it's currently pinned at 2.5.0 in the workspace, and therefore had to settle for the older `regex-1.8.0`.

r? `@jieyouxu`
2024-04-17 00:00:23 +02:00
Guillaume Gomez
4aaa8f964f
Rollup merge of #123673 - oli-obk:sig_wfcheck_ice, r=jieyouxu,estebank
Don't ICE for kind mismatches during error rendering

fixes #123457

also some test suite cleanups to make backtraces easier to read
2024-04-17 00:00:22 +02:00
Weihang Lo
cea6cb3a68
Update cargo 2024-04-16 16:53:29 -04:00