Commit graph

11597 commits

Author SHA1 Message Date
许杰友 Jieyou Xu (Joe)
5ec3eef9e7 run-make-support: add changelog 2024-06-11 09:14:29 +00:00
许杰友 Jieyou Xu (Joe)
d308a70890 run-make-support: bump version 2024-06-11 09:14:28 +00:00
许杰友 Jieyou Xu (Joe)
54e704437b run-make-support: arm command with drop bombs
- Update all command wrappers and command construction helpers with
  `#[track_caller]` where suitable to help the drop bomb panic message.
- Remove `Deref`/`DerefMut` for `Command` because it was causing issues
  with resolving to `std::process::Command` in a method call chain.
2024-06-11 09:14:28 +00:00
许杰友 Jieyou Xu (Joe)
a3feeb3afe run-make-support: add drop bomb module 2024-06-11 08:21:10 +00:00
许杰友 Jieyou Xu (Joe)
7255c2825d run-make-support: remove env_var
This is incorrectly named (it's actually `env_clear`), and is itself
a gigantic footgun: removing `TMPDIR` on Unix and `TMP`/`TEMP` on
Windows basically wrecks anything that relies on `std::env::temp_dir`
from functioning correctly. For example, this includes rustc's codegen.
2024-06-11 08:21:10 +00:00
Matthias Krüger
61eb29e958
Rollup merge of #126211 - lolbinarycat:llvm-outputs-rmake, r=jieyouxu
migrate tests/run-make/llvm-outputs to use rmake.rs

part of #121876

<!--
If this PR is related to an unstable feature or an otherwise tracked effort,
please link to the relevant tracking issue here. If you don't know of a related
tracking issue or there are none, feel free to ignore this.

This PR will get automatically assigned to a reviewer. In case you would like
a specific user to review your work, you can assign it to them by using

    r​? <reviewer name>
-->
2024-06-10 21:12:26 +02:00
Matthias Krüger
07bb7ca9fa
Rollup merge of #126184 - RalfJung:interpret-simd-nonpow2, r=oli-obk
interpret: do not ICE on padded non-pow2 SIMD vectors

Fixes https://github.com/rust-lang/miri/issues/3458

r? ``@oli-obk``
2024-06-10 21:12:25 +02:00
Matthias Krüger
2d7f7ffba5
Rollup merge of #126159 - RalfJung:scalarint-size-mismatch, r=oli-obk
ScalarInt: size mismatches are a bug, do not delay the panic

Cc [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/146212-t-compiler.2Fconst-eval/topic/Why.20are.20ScalarInt.20to.20iN.2FuN.20methods.20fallible.3F)

r? ``@oli-obk``
2024-06-10 21:12:25 +02:00
Ralf Jung
3c57ea0df7 ScalarInt: size mismatches are a bug, do not delay the panic 2024-06-10 13:43:16 +02:00
binarycat
91f5530b2d migrate tests/run-make/llvm-outputs to use rmake.rs
part of #121876
2024-06-10 05:30:58 -04:00
bors
a70b2ae577 Auto merge of #126205 - jieyouxu:rollup-s64z5ng, r=jieyouxu
Rollup of 4 pull requests

Successful merges:

 - #126172 (Weekly `cargo update`)
 - #126176 (rustdoc-search: use lowercase, non-normalized name for type search)
 - #126190 (Autolabel run-make tests, remind to update tracking issue)
 - #126194 (Migrate more things to `WinError`)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-06-09 21:03:04 +00:00
许杰友 Jieyou Xu (Joe)
cbb986945b
Rollup merge of #126172 - clubby789:cargo-update, r=Mark-Simulacrum
Weekly `cargo update`

Replaces #125562

`r-efi` needs to be bumped in two places.
The `icu4x` dependencies also added a SPDX license identifer, so remove the license checking exception and add `Unicode-3.0` to the list.
2024-06-09 20:54:22 +01:00
许杰友 Jieyou Xu (Joe)
a8cba36cbf
Rollup merge of #126188 - Kobzol:runmake-command-docs, r=jieyouxu
Fix documentation for `impl_common_helpers` in `run-make-support`

Forgot to do this in https://github.com/rust-lang/rust/pull/126121.

`@bors` rollup

r? `@jieyouxu`
2024-06-09 19:16:21 +01:00
许杰友 Jieyou Xu (Joe)
4ca52f1869
Rollup merge of #125465 - weihanglo:opt-dist-vendor, r=Mark-Simulacrum
bootstrap: vendor crates required by opt-dist to collect profiles

These are the default package set required by opt-dist to correctly work,
hence for people wanting to build a production grade of rustc in a
sandboxed / air-gapped environment, these need to be vendored.

The size of `rustc-src-nightly.tar.xz` before and after this change:

* Before: 298M
* After: 323M (+8%)

Size change might or might not be a concern.
See the previous discussion: https://github.com/rust-lang/rust/pull/125166#issuecomment-2113626468

Previous efforts on making:

* https://github.com/rust-lang/rust/pull/125125
* https://github.com/rust-lang/rust/pull/125166

---

Note that extra works still need to be done to make it fully vendored.

* The current pinned rustc-perf uses `tempfile::Tempdir` as the working
  directory when collecting profiles from some of these packages.
  This "tmp" working directory usage make it impossible for Cargo to pick
  up the correct vendor sources setting in `.cargo/config.toml` bundled
  in the rustc-src tarball. [^1]
* opt-dist verifies the final built rustc against a subset of rustc test
  suite. However it rolls out its own `config.toml` without setting
  `vendor = true`, and that results in `./vendor/` directory removed.
  [^2]

[^1]: 4f313add60/collector/src/compile/benchmark/mod.rs (L164-L173)
[^2]: 606afbb617/src/tools/opt-dist/src/tests.rs (L62-L77)
2024-06-09 19:16:20 +01:00
Weihang Lo
377870386f
tidy: add license exceptions for rustc-perf
`ring` is included because it is an optional dependency of `hyper`,
which is a training data in rustc-pref for optimized build.
The license of it is generally `ISC AND MIT AND OpenSSL`,
though the `package.license` field is not set.

See https://github.com/briansmith/ring/issues/902

`git+https://github.com/rust-lang/team` git source is from
`rust_team_data`, which is used by `site` in src/tools/rustc-perf.
This doesn't really a part of the compiler,
so doesn't really affect the bootstrapping process.

See https://github.com/rust-lang/rustc-perf/pull/1914.
2024-06-09 12:33:11 -04:00
Weihang Lo
e24be071e3
feat: vendor crates required by opt-dist to collect profiles
These are the default package set required by opt-dist to correctly work,
hence for people wanting to build a production grade of rustc in a
sandboxed / air-gapped environment, these need to be vendored.

The size of `rustc-src-nightly.tar.xz` before and after this change:

* Before: 298M
* After: 323M (+8%)

These crates are the default set of packages required by opt-dist
to correctly work, hence for people wanting to build a production grade
of rustc in an sandboxed / air-gapped environment, these need to be vendored.

The size of `rustc-src-nightly.tar.xz` before and after this change:

* Before: 298M
* After: 323M (+8%)

Size change might or might not be a concern.
See the previous discussion: https://github.com/rust-lang/rust/pull/125166#issuecomment-2113626468

Previous efforts on making:

* https://github.com/rust-lang/rust/pull/125125
* https://github.com/rust-lang/rust/pull/125166

---

Note that extra works still need to be done to make it fully vendored.

* The current pinned rustc-perf uses `tempfile::Tempdir` as the working
  directory when collecting profiles from some of these packages.
  This "tmp" working directory usage make it impossible for Cargo to pick
  up the correct vendor sources setting in `.cargo/config.toml` bundled
  in the rustc-src tarball. [^1]
* opt-dist verifies the final built rustc against a subset of rustc test
  suite. However it rolls out its own `config.toml` without setting
  `vendor = true`, and that results in `./vendor/` directory removed.
  [^2]

[^1]: 4f313add60/collector/src/compile/benchmark/mod.rs (L164-L173)
[^2]: 606afbb617/src/tools/opt-dist/src/tests.rs (L62-L77)
2024-06-09 12:33:11 -04:00
bors
7bb0ef4902 Auto merge of #126193 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? `@ghost`
2024-06-09 14:37:00 +00:00
tiif
69512c7b1e Follow up fix for eventfd shim 2024-06-09 19:44:06 +08:00
Ralf Jung
87c4d29ce2 don't panic if time computaton overflows 2024-06-09 13:07:36 +02:00
bors
509eec19c4 Auto merge of #3653 - tiif:bug/futex_ice, r=RalfJung
Fix futex with large timeout ICE

Fixes #3647.

This PR changed the type of ``nanoseconds`` from ``u64`` to ``u128``. In ``duration_since``, nanoseconds is manually converted to second by dividing it with 1e9. But overflow is still possible.
2024-06-09 10:18:56 +00:00
tiif
40182becc3 Run cargo fmt 2024-06-09 18:00:58 +08:00
tiif
21d66afb8f Saturate to u64::MAX 2024-06-09 18:00:58 +08:00
byt
e85c521f37 Checked add for duration update
Co-authored-by: Ralf Jung <post@ralfj.de>
2024-06-09 18:00:58 +08:00
byt
d0fb350b6a Add comment for u128 to u64 conversion.
Co-authored-by: Ralf Jung <post@ralfj.de>
2024-06-09 18:00:58 +08:00
tiif
aa8323585c Move duration division out 2024-06-09 18:00:58 +08:00
tiif
9cf04b5a22 Use modulo operation to convert nanosecond to Duration 2024-06-09 18:00:58 +08:00
tiif
9f60709ffd Remove test 2024-06-09 18:00:58 +08:00
tiif
0bca4e1a22 Convert u128 to nanosecond 2024-06-09 18:00:58 +08:00
tiif
844450ae3a First attempt 2024-06-09 18:00:58 +08:00
Ralf Jung
d5fb8257e7 interpret: do not ICE on padded non-pow2 SIMD vectors 2024-06-09 11:54:23 +02:00
Jakub Beránek
fbe5015480
Fix documentation for impl_common_helpers in run-make-support 2024-06-09 11:52:16 +02:00
Ralf Jung
ba45198c9b use strict ops in some places 2024-06-09 11:44:05 +02:00
Ralf Jung
110b092203 simd_bitmask: work correctly for sizes like 24 2024-06-09 11:44:05 +02:00
Matthias Krüger
8875fd1ff4
Rollup merge of #126175 - Kobzol:tidy-install-pip-quiet, r=tgross35
Use --quiet flag when installing pip dependencies

Fixes: https://github.com/rust-lang/rust/issues/126164

This still prints an error if any occurs.
2024-06-09 10:17:10 +02:00
Ralf Jung
91e53aa8ed simd_select_bitmask: fix intrinsic name in error 2024-06-09 09:56:30 +02:00
Ralf Jung
a13a9ab759 simd_bitmask: nicer error when the mask is too big 2024-06-09 09:09:23 +02:00
clubby789
9d85dfc3e6 Update icu4x dependencies 2024-06-09 07:47:42 +01:00
Jakub Beránek
1ade7cbe41
Use --quiet flag when installing pip dependencies 2024-06-08 23:25:43 +02:00
Ralf Jung
536723501a Merge from rustc 2024-06-08 21:41:56 +02:00
Ralf Jung
1ae0053d97 Preparing for merge from rustc 2024-06-08 21:41:46 +02:00
Jakub Beránek
0a190e8d2d
Migrate runmake tests away from custom commands and command_output 2024-06-08 19:36:31 +02:00
Jakub Beránek
18ae9afa82
Introduce a custom Command wrapper in run-make-support 2024-06-08 19:34:02 +02:00
bors
1f1dd652d9 Auto merge of #3655 - RalfJung:simd-bitmask, r=RalfJung
portable-simd: add test for non-power-of-2 bitmask

`@calebzulawski` is that the intended behavior? Specifically for arrays, the bitmask `[1, 0, 0, 1, 0, 0, 1, 0, 1, 0]` becomes
- `[0b01001001, 0b01]` on little endian
- `[0b10010010, 0b10]` on big endian
2024-06-08 17:21:21 +00:00
Ralf Jung
ca3d93aab0 portable-simd: add test for non-power-of-2 bitmask 2024-06-08 19:19:01 +02:00
Ralf Jung
ea73f0067f
comment nits 2024-06-08 18:31:46 +02:00
bors
cfdb6175c2 Auto merge of #126097 - Kobzol:runmake-change-cwd, r=jieyouxu
Change how runmake v2 tests are executed

This PR makes execution of v2 runmake tests more sane, by executing each test in a temporary directory by default, rather than running it inside `tests/run-make`. This will have.. a lot of conflicts.

Fixes: https://github.com/rust-lang/rust/issues/126080
Closes https://github.com/rust-lang/rust/issues/125726, because it removes `tmp_dir`, lol.

r? `@jieyouxu`

try-job: x86_64-msvc
2024-06-08 15:25:05 +00:00
Folkert
3fa1d47267
add support for pclmulqdq 2024-06-08 16:50:03 +02:00
Jakub Beránek
5844b679f3
Remove unnecessary functions and the last mention of TMPDIR from run-make-support 2024-06-08 13:10:55 +02:00
bors
d8fde50745 Auto merge of #126111 - Zalathar:fulldeps-hotplug, r=jieyouxu
Port `tests/run-make-fulldeps/hotplug_codegen_backend` to ui-fulldeps

This is the last remaining run-make-fulldeps test, which means I actually had to leave behind a dummy README file to prevent compiletest from complaining about a missing directory.

(Removing the run-make-fulldeps suite entirely is non-trivial, so I intend to do so in a separate PR after this one.)

---

I wasn't sure about adding a new kind of aux build just for this one test, so I also tried to just port this test from Makefile to [rmake](https://github.com/rust-lang/rust/issues/121876) instead.

But I found that I couldn't get rmake to fully work for a run-make-fulldeps test, which convinced me that getting rid of run-make-fulldeps is worthwhile.

r? `@jieyouxu`
2024-06-08 07:23:17 +00:00
bors
16e8803579 Auto merge of #126143 - weihanglo:update-cargo, r=weihanglo
Update cargo

8 commits in 34a6a87d8a2330d8c9d578f927489689328a652d..b1feb75d062444e2cee8b3d2aaa95309d65e9ccd
2024-06-04 15:31:01 +0000 to 2024-06-07 20:16:17 +0000
- Keep lints updated (rust-lang/cargo#14030)
- test(lints): Ensure unused optional dep fires for shadowed dep (rust-lang/cargo#14028)
- Add `cargo update --breaking` (rust-lang/cargo#13979)
- Add tooling to document lints (rust-lang/cargo#14025)
- Rename --out-dir to --artifact-dir (rust-lang/cargo#13809)
- fix(lints): Add unknown_lints to lints list (rust-lang/cargo#14024)
- docs(contrib): Suggest atomic commits with separate test commits (rust-lang/cargo#14014)
- test(semver): track the behavior of `--precise <prerelease>` (rust-lang/cargo#14013)

r? ghost
2024-06-08 04:39:35 +00:00