Commit graph

149311 commits

Author SHA1 Message Date
许杰友 Jieyou Xu (Joe)
53f48ddbc7
Assert that test names cannot contain dots
This is so that we can catch stray test output files, since test names
without dots can form predictable patterns we can match on.
2024-03-05 08:11:27 +00:00
Nicholas Nethercote
d602394827 Change message type in bug functions.
From `impl Into<DiagnosticMessage>` to `impl Into<Cow<'static, str>>`.

Because these functions don't produce user-facing output and we don't
want their strings to be translated.
2024-03-05 17:11:42 +11:00
bors
1547c076bf Auto merge of #121780 - nnethercote:diag-renaming2, r=davidtwco
Diagnostic renaming 2

A sequel to #121489.

r? `@davidtwco`
2024-03-05 02:58:34 +00:00
jyn
678e2177dc bootstrap: print test name on failure even with verbose-tests=false
This makes it much easier to know which test failed without having to wait for compiletest to completely finish running. Before:
```
Testing stage0 compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu)

running 15274 tests
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii    88/15274
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii   176/15274
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii   264/15274
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii   352/15274
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii   440/15274
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii   528/15274
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiFFiiiiiii
...
```

After:
```
Testing stage0 compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu)

running 15274 tests
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii    88/15274
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii   176/15274
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii   264/15274
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii   352/15274
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii   440/15274
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii   528/15274
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
[ui] tests/ui/associated-type-bounds/implied-in-supertrait.rs ... F

[ui] tests/ui/associated-type-bounds/return-type-notation/basic.rs#next_with ... F
iiiiiiiiiiiii
...
```

This serves a similar use case to the existing RUSTC_TEST_FAIL_FAST, but is on by default and as a result much more discoverable.
We should consider unifying RUSTC_TEST_FAIL_FAST with the `--no-fail-fast` flag in the future for consistency and discoverability.
2024-03-04 21:15:22 -05:00
Nicholas Nethercote
d98ad0a181 Rename DiagnosticExt as DiagExt. 2024-03-05 12:14:49 +11:00
Nicholas Nethercote
18715c98c6 Rename DiagnosticMessage as DiagMessage. 2024-03-05 12:14:49 +11:00
Chris Denton
f700641bd9
Windows: Implement mutex using futex
Well, the Windows equivalent: `WaitOnAddress`, `WakeByAddressSingle` and `WakeByAddressAll`.
2024-03-05 00:19:42 +00:00
bors
2eeff462b7 Auto merge of #120675 - oli-obk:intrinsics3.0, r=pnkfelix
Add a scheme for moving away from `extern "rust-intrinsic"` entirely

All `rust-intrinsic`s can become free functions now, either with a fallback body, or with a dummy body and an attribute, requiring backends to actually implement the intrinsic.

This PR demonstrates the dummy-body scheme with the `vtable_size` intrinsic.

cc https://github.com/rust-lang/rust/issues/63585

follow-up to #120500

MCP at https://github.com/rust-lang/compiler-team/issues/720
2024-03-05 00:13:01 +00:00
Ralf Jung
3f0b6a0d1c consistently use MPlaceTy for return places 2024-03-04 23:40:26 +01:00
bors
50e77f133f Auto merge of #121998 - matthiaskrgr:rollup-l7lzwpb, r=matthiaskrgr
Rollup of 10 pull requests

Successful merges:

 - #120976 (constify a couple thread_local statics)
 - #121683 (Fix LVI tests after frame pointers are enabled by default)
 - #121703 (Add a way to add constructors for `rustc_type_ir` types)
 - #121732 (Improve assert_matches! documentation)
 - #121928 (Extract an arguments struct for `Builder::then_else_break`)
 - #121939 (Small enhancement to description of From trait)
 - #121968 (Don't run test_get_os_named_thread on win7)
 - #121969 (`ParseSess` cleanups)
 - #121977 (Doc: Fix incorrect reference to integer in Atomic{Ptr,Bool}::as_ptr.)
 - #121994 (Update platform-support.md with supported musl version)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-03-04 21:56:57 +00:00
dependabot[bot]
5294dd8afd
Bump mio from 0.8.10 to 0.8.11 in /test_dependencies
Bumps [mio](https://github.com/tokio-rs/mio) from 0.8.10 to 0.8.11.
- [Release notes](https://github.com/tokio-rs/mio/releases)
- [Changelog](https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/mio/compare/v0.8.10...v0.8.11)

---
updated-dependencies:
- dependency-name: mio
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04 21:30:41 +00:00
Matthias Krüger
5e13bc45fb
Rollup merge of #121994 - wesleywiser:update_musl_version_docs, r=ehuss
Update platform-support.md with supported musl version

This just reflects the current status quo, there is no actual change here since the update to musl 1.2.3 occurred in #107129 and was approved in https://github.com/rust-lang/compiler-team/issues/572.

I also normalized all mentions of musl libc to "musl" (non-capitalized per the project's site and Wikipedia page).

r? ``@ehuss``
2024-03-04 22:16:34 +01:00
Matthias Krüger
13b971209a
Rollup merge of #121969 - nnethercote:ParseSess-cleanups, r=wesleywiser
`ParseSess` cleanups

The main change here is to rename all `ParseSess` values as `psess`. Plus a few other small cleanups.

r? `@wesleywiser`
2024-03-04 22:16:33 +01:00
Nicholas Nethercote
b74b4b09d1 Rename all ParseSess variables/fields/lifetimes as psess.
Existing names for values of this type are `sess`, `parse_sess`,
`parse_session`, and `ps`. `sess` is particularly annoying because
that's also used for `Session` values, which are often co-located, and
it can be difficult to know which type a value named `sess` refers to.
(That annoyance is the main motivation for this change.) `psess` is nice
and short, which is good for a name used this much.

The commit also renames some `parse_sess_created` values as
`psess_created`.
2024-03-05 08:11:45 +11:00
Nicholas Nethercote
80d2bdb619 Rename all ParseSess variables/fields/lifetimes as psess.
Existing names for values of this type are `sess`, `parse_sess`,
`parse_session`, and `ps`. `sess` is particularly annoying because
that's also used for `Session` values, which are often co-located, and
it can be difficult to know which type a value named `sess` refers to.
(That annoyance is the main motivation for this change.) `psess` is nice
and short, which is good for a name used this much.

The commit also renames some `parse_sess_created` values as
`psess_created`.
2024-03-05 08:11:45 +11:00
许杰友 Jieyou Xu (Joe)
9bebbf14c5
Use Path::file_stem instead 2024-03-04 20:07:39 +00:00
Wesley Wiser
748da32efb Update platform-support.md with supported musl version 2024-03-04 13:50:28 -06:00
许杰友 Jieyou Xu (Joe)
b4936133bb
Split dots in filename, not the entire path 2024-03-04 19:30:53 +00:00
bors
d18480b84f Auto merge of #120468 - alexcrichton:start-wasm32-wasi-rename, r=wesleywiser
Add a new `wasm32-wasip1` target to rustc

This commit adds a new target called `wasm32-wasip1` to rustc. This new target is explained in these two MCPs:

* https://github.com/rust-lang/compiler-team/issues/607
* https://github.com/rust-lang/compiler-team/issues/695

In short, the previous `wasm32-wasi` target is going to be renamed to `wasm32-wasip1` to better live alongside the [new `wasm32-wasip2` target](https://github.com/rust-lang/rust/pull/119616). This new target is added alongside the `wasm32-wasi` target and has the exact same definition as the previous target. This PR is effectively a rename of `wasm32-wasi` to `wasm32-wasip1`. Note, however, that as explained in rust-lang/compiler-team#695 the previous `wasm32-wasi` target is not being removed at this time. This change will reach stable Rust before even a warning about the rename will be printed. At this time this change is just the start where a new target is introduced and users can start migrating if they support only Nightly for example.
2024-03-04 18:55:14 +00:00
bors
65ec028455 Auto merge of #3358 - RalfJung:zzz, r=RalfJung
give macOS even more time to sleep
2024-03-04 18:45:12 +00:00
Ralf Jung
2b40181cb3 give macOS even more time to sleep 2024-03-04 19:11:09 +01:00
bors
790287a08f Auto merge of #3357 - RalfJung:imports, r=RalfJung
reorder rustc crate imports a bit
2024-03-04 17:57:38 +00:00
Oli Scherer
1e57df1969 Add a scheme for moving away from extern "rust-intrinsic" entirely 2024-03-04 16:13:50 +00:00
Oli Scherer
aa2ae6b491 Add is_intrinsic helper 2024-03-04 16:13:50 +00:00
bors
4fdb2152d9 Auto merge of #3356 - RalfJung:typo, r=RalfJung
Conjob → Cronjob

Same as https://github.com/rust-lang/miri-test-libstd/pull/44
2024-03-04 16:08:52 +00:00
Ralf Jung
45d955edb0 reorder rustc crate imports a bit 2024-03-04 16:23:25 +01:00
Ralf Jung
a477cf45ff Conjob → Cronjob 2024-03-04 16:22:30 +01:00
Ben Kimock
75f6694ce8 Use cargo miri clean in build-all-targets.sh 2024-03-04 10:13:49 -05:00
Ralf Jung
974446eb92 we properly rebuild the cache now when MIRI_LIB_SRC contents change 2024-03-04 15:07:35 +01:00
Nikita Popov
5d1d4081d9 Replace libLLVM symlink with linker script in rustup components
It turns out that the libLLVM-N.so -> libLLVM.so.N.1 symlink is
also needed when projects like miri link against librustc_driver.so.
As such, we have to distribute it in real rustup components like
rustc-dev, rather than only for download-ci-llvm.

To avoid actually distributing symlinks (which are not supported
or not fully supported by the rustup infrastructure) replace it
with a linker script that does the same thing instead.
2024-03-04 11:13:26 +01:00
Jeffery To
d911613280 Allow bootstrap cache path to be set by environment variable
This allows the bootstrap cache path to be set by the
`RUSTC_BOOTSTRAP_CACHE` environment variable.

Setting the bootstrap cache path to an external location can help to
speed up builds in cases where the build directory is not kept between
builds, e.g. in CI or other automated build systems.
2024-03-04 10:35:52 +01:00
bors
e87f82578d Auto merge of #3351 - RalfJung:diagnostic-dedup-considered-harmful, r=RalfJung
disable diagnostic deduplication

`@oli-obk` is there a better way to do this? Ideally we'd only set this when interpretation starts but the value in the compiler session seems to be immutable. I assume people will do `cargo check` before `cargo miri` so hopefully this won't lead to too much confusion.

Fixes https://github.com/rust-lang/miri/issues/3350
2024-03-04 09:21:33 +00:00
bors
ede97c6510 Auto merge of #3339 - RalfJung:remove-old-flags, r=saethlin
remove some flags that haven't had an effect in a while

`@rust-lang/miri` any objections to this?
2024-03-04 08:34:11 +00:00
Ralf Jung
f70feaf604 linux-futex test: add comment 2024-03-04 09:34:07 +01:00
Ralf Jung
d5f31bda4f implement manual deduplication for isolation-error=warn-nobacktrace 2024-03-04 09:34:07 +01:00
Ralf Jung
fbafd36333 disable diagnostic deduplication 2024-03-04 09:34:07 +01:00
Nicholas Nethercote
3996447b37 Remove file_path_mapping param from ParseSess::new.
It's always empty.
2024-03-04 16:22:06 +11:00
Nicholas Nethercote
aa38c26bbf Tweak parse_asm_args.
It doesn't need a `Parser` and a `ParseSess`, because the former
contains the latter.
2024-03-04 16:12:33 +11:00
bors
8b1af4c661 Auto merge of #120585 - Amanieu:ohos-tier2, r=Kobzol
Promote OpenHarmony targets to tier 2

MCP: rust-lang/compiler-team#719
2024-03-04 03:03:35 +00:00
Matthias Krüger
d37ad03513
Rollup merge of #121248 - c410-f3r:testsssssss, r=petrochenkov
Move some tests

r? `@petrochenkov`
2024-03-03 22:56:12 +01:00
Caio
2aab000105 Move tests 2024-03-03 16:30:48 -03:00
bors
279c9ba260 Auto merge of #121936 - RalfJung:miri, r=RalfJung
Miri subtree update

r? `@ghost`
2024-03-03 16:34:15 +00:00
bors
f47732b55e Auto merge of #3330 - RossSmyth:win-fmt, r=RalfJung
Fix .\miri fmt on Windows

This allows .\miri fmt to work on Windows. Closes #3317.

To reiterate, the problem with using `miri fmt` on Windows is that the CLI arguments to rustfmt are too long. Currently over 65,000 characters are used in the call to rustfmt, [which is incompatible with Windows](https://devblogs.microsoft.com/oldnewthing/20031210-00/?p=41553) as it is limited to (2^15 - 1) for all arguments plus all env vars.

Two things are done do get around this limit:

1. Call out to cargo-fmt for the crates that exist.
2. Batch rustfmt calls by length

Another alternative would be to just use rustfmt for everything and don't use cargo-fmt for the crates.

I don't know how much you guys may care about `miri fmt` time to run. I don't know the diff as it did not work before on my computer.

[I have another branch that solves this, but in a less permanent way](RossSmyth/miri/tree/windows-fmt). That was my initial attempt, and I learned that even with cargo-fmt and relative paths, the rustfmt call still has 27k characters. This is closer to the limit than I expected, so it would not be a permanent solution. So I went back to absolute paths & batching.
2024-03-03 14:02:57 +00:00
Ralf Jung
83e2e2d89d
nits and typos 2024-03-03 15:00:47 +01:00
Ralf Jung
983c2c59c9 do not rely on tracing's scope exit logging, it is wrong 2024-03-03 13:29:14 +01:00
Ralf Jung
3041c78c9c log when we change the active thread 2024-03-03 13:11:52 +01:00
Ralf Jung
cfc10f0aab fix MIRI_LOG=info not setting the level for miri itself 2024-03-03 12:50:55 +01:00
bors
639fab7f9a Auto merge of #3345 - RalfJung:win-get-thread-name, r=RalfJung
Windows: support getting the thread name

Also organize the thread name tests a bit.
2024-03-03 10:32:43 +00:00
Ralf Jung
c72b48778d Windows: support getting the thread name 2024-03-03 10:43:44 +01:00
Ralf Jung
931e45389a fix wording of alloc access tracking message 2024-03-03 10:27:24 +01:00