| Age | Commit message (Collapse) | Author | Lines |
|
Rollup of 21 pull requests
Successful merges:
- #119086 (Query panic!() to useful diagnostic)
- #119239 (Remove unnecessary arm in `check_expr_yield`)
- #119298 (suppress change-tracker warnings in CI containers)
- #119319 (Document that File does not buffer reads/writes)
- #119434 (rc: Take *const T in is_dangling)
- #119444 (Rename `TyCtxt::is_closure` to `TyCtxt::is_closure_or_coroutine`)
- #119474 (Update tracking issue of naked_functions)
- #119476 (Pretty-print always-const trait predicates correctly)
- #119477 (rustdoc ui: adjust tooltip z-index to be above sidebar)
- #119479 (Remove two unused feature gates from rustc_query_impl)
- #119487 (Minor improvements in comment on `freshen.rs`)
- #119492 (Update books)
- #119494 (Deny defaults for higher-ranked generic parameters)
- #119498 (Update deadlinks of `strict_provenance` lints)
- #119505 (Don't synthesize host effect params for trait associated functions marked const)
- #119510 (Report I/O errors from rmeta encoding with emit_fatal)
- #119512 (Mark myself as back from leave)
- #119514 (coverage: Avoid a query stability hazard in `function_coverage_map`)
- #119523 (llvm: Allow `noundef` in codegen tests)
- #119534 (Update `thread_local` examples to use `local_key_cell_methods`)
- #119544 (Fix: Properly set vendor in i686-win7-windows-msvc target)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
r=Mark-Simulacrum
suppress change-tracker warnings in CI containers
Fixes #119296
|
|
This commit temporarily reverts the addition of M1 runners on GitHub
Actions to work around a billing issue related to their beta. It also
removes the `aarch64-apple` job, which was only added after the addition
of M1 runners. Since it has never been tested on the prior hardware, we
are skipping the tests to reduce the risk of build failures.
|
|
Remove usage of deprecated `missing-tools` bootstrap flag
This PR removes the usage of `--enable-missing-tools` in CI, as this config option is no longer used. It also removes `dist.missing-tools` config completely.
Let me know which commits should I remove (if any).
Fixes: https://github.com/rust-lang/rust/issues/79249
r? `@onur-ozkan`
|
|
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
|
|
Fix display of warning block if it is first element of the top doc block
It fixes the display of the warning block "i" element in case it is the first element:

It now looks like this:

The update for the `browser-ui-test` framework is because it didn't detect correctly pseudo elements if they ended with a digit or a dash.
r? `@notriddle`
|
|
|
|
improve container runner script
First commit fixes #118930
Second commit is mostly for development purposes. In read-only mode submodules cannot be initialized due to access limitations (see the log below), which means that tools cannot be built.
```sh
Updating submodule src/tools/cargo
error: could not lock config file .git/config: Read-only file system
error: could not lock config file .git/config: Read-only file system
fatal: Failed to register url for submodule path 'src/tools/cargo'
error: could not lock config file .git/config: Read-only file system
error: could not lock config file .git/config: Read-only file system
fatal: Failed to register url for submodule path 'src/tools/cargo'
Build completed unsuccessfully in 0:00:00
```
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
The compiler-builtins for RISC-V are missing some key functions, such as
__bswapsi2 [1].
We can't just pull in the LLVM compiler-rt builtins as the rust-lang/rust
distribution container doesn't have a C compiler [2].
This patch adds RISC-V C compilers to the CI Dockerfile as the first
step towards enabling LLVM compiler-rt builtins for RISC-V Rust.
1: https://github.com/rust-lang/compiler-builtins/issues/350
2: https://github.com/rust-lang/compiler-builtins/commit/e4f46b91ca843297fc065e20f1591e4971ae608c
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
|
|
|
|
r=Mark-Simulacrum
Let `reuse` look inside git submodules
Changes `collect-license-metadata` and `generate-copyright` so they can now look at the git submodules.
Unfortunately `reuse` chokes on the LLVM submodule - it finds the word "Copyright" or the unicode copyright symbol in all kinds of places, including UTF-8 test cases. The `reuse` tool expressly won't let you ignore folders, so we let it scan everything and then strip out the LLVM sub-folder in post. Instead, we add in a hand-curated list of copyright information gleaned by reading the LLVM codebase carefully, which is stored in `.reuse/dep5` in Debian format where `reuse` can find and use it.
The `.reuse/dep5` continues to track copyright info for files in the tree that do not have SPDX metadata in them (i.e. all of them)
|
|
|
|
Re-enable `rustc_codegen_gcc` tests in CI
When #117947 dropped llvm-15 from CI, we neglected to copy #117313's changes to enable `rustc_codegen_gcc` testing to the new base llvm-16. This is now restored, as well as copying the setup to llvm-17 as well so we hopefully won't miss it next time.
In addition, due to case mismatch in `$extra_env` updates in `docker/run.sh`, I think it wasn't actually getting enabled before, but this should now be fixed. I also avoided the linker hack for `libgccjit.so` that was present before, because that's not needed if the version matches the base `gcc` used for linking.
r? GuillaumeGomez
|
|
- riscv32imac-unknown-none-elf
- Add platform support docs for rv32
|
|
|
|
|
|
Update the minimum external LLVM to 16.
With this change, we'll have stable support for LLVM 16 and 17.
For reference, the previous increase to LLVM 15 was #114148
[Relevant zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/riscv.20forced-atomics)
|
|
|
|
Enable profiler in dist-powerpc64-linux
|
|
|
|
Remove now deprecated target x86_64-sun-solaris.
|
|
Expand Miri's BorTag GC to a Provenance GC
As suggested in https://github.com/rust-lang/miri/issues/3080#issuecomment-1732505573
We previously solved memory growth issues associated with the Stacked Borrows and Tree Borrows runtimes with a GC. But of course we also have state accumulation associated with whole allocations elsewhere in the interpreter, and this PR starts tackling those.
To do this, we expand the visitor for the GC so that it can visit a BorTag or an AllocId. Instead of collecting all live AllocIds into a single HashSet, we just collect from the Machine itself then go through an accessor `InterpCx::is_alloc_live` which checks a number of allocation data structures in the core interpreter. This avoids the overhead of all the inserts that collecting their keys would require.
r? ``@RalfJung``
|
|
|
|
|
|
|
|
r=Mark-Simulacrum
deprecate `if-available` value of `download-ci-llvm`
This PR deprecates the use of the `if-available` value for `download-ci-llvm` since `if-unchanged` serves the same purpose when no changes are detected. In cases where changes are present, it is assumed that compiling LLVM is acceptable (otherwise, why make changes there?).
This was probably missing in the #110087 issue before.
cc `@RalfJung`
|
|
Remove asmjs
Fulfills [MCP 668](https://github.com/rust-lang/compiler-team/issues/668).
`asmjs-unknown-emscripten` does not work as-specified, and lacks essential upstream support for generating asm.js, so it should not exist at all.
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Switch `fuchsia-test-runner.py` to `ffx product`
The subcommand `ffx product-bundle` has been removed, and replaced with the subcommand `ffx product`. This changes `fuchsia-test-runner.py` to use it to download the SDK and product bundle for the latest release of Fuchsia.
|
|
The subcommand `ffx product-bundle` has been removed, and replaced with
the subcommand `ffx product`. This changes `fuchsia-test-runner.py` to
use it to download the SDK and product bundle for the latest release of
Fuchsia.
|
|
|
|
The GitHub Actions image has this preinstalled for x86_64 but not M1.
|
|
|
|
Support for `-fuse-ld=lld` was added in GCC 9
|
|
enable parallel rustc front end in nightly builds
Refers to the [MCP](https://github.com/rust-lang/compiler-team/issues/681), this pr does:
1. Enable the parallel front end in nightly builds, and keep the default number of threads as 1. Then users can use the parallel rustc front end via -Z threads=n option.
2. Set it up to serial front end for beta/stable builds via bootstrap.
3. Switch over the alt builders from parallel rustc to serial, so we have artifacts without parallel to test against the artifacts with parallel.
r? `@oli-obk`
cc `@cjgillot` `@nnethercote` `@bjorn3` `@Kobzol`
|
|
bump clang version for dist-x86_64-linux from 17.0.2 to 17.0.4
This fixes few miscompiles, so nice to have.
Release notes:
https://discourse.llvm.org/t/llvm-17-0-3-released/74172
https://discourse.llvm.org/t/llvm-17-0-4-released/74548
>The next release will be 17.0.5, in two weeks 14th of November.
Or maybe delay until 17.0.5?
|
|
This fixes few miscompiles, so nice to have.
|
|
|
|
Run tidy license checker on more workspaces
The license checker didn't run on several workspaces before this PR. The same applied to the "external package sources" check. There were also two missing lockfiles which I have added now.
|
|
This reverts commit 1dfb6b162be402d8ca37e8aad4f58898b44e3a15, reversing
changes made to bcb5798dd890a691644af9d371f3bd7fcc465584.
That commit broke generating nightly rustc docs. Revert it until we can figure out how to have both, cranelift and docs.
|
|
|
|
|
|
|
|
|
|
|