Commit graph

152131 commits

Author SHA1 Message Date
Ralf Jung
efdc01bfee unix/sync: cleanup 2024-09-15 10:55:03 +02:00
bors
8c4f0552fc Auto merge of #3884 - Mandragorian:detect_cond_move, r=RalfJung
detect when pthread_cond_t is moved

Closes #3749
2024-09-14 17:03:40 +00:00
Konstantinos Andrikopoulos
b6dea9ebdd detect when pthread_cond_t is moved
Closes #3749
2024-09-14 18:53:21 +02:00
The Miri Cronjob Bot
94d49917ad Merge from rustc 2024-09-14 05:06:03 +00:00
The Miri Cronjob Bot
9bab91f5d4 Preparing for merge from rustc 2024-09-14 04:58:15 +00:00
bors
23b04c0513 Auto merge of #125419 - GuillaumeGomez:add-gcc-to-dist, r=Kobzol
[bootstrap] Add support for building gcc and libgccjit

As `@eholk` summarized below:

> From my understanding, this change would add libgccjit as an optional component to the Rust distribution. This library is licensed under GPLv2 and currently we do not have any other components under that license so it would be a new license, and one that is generally more restrictive than the other licenses we use.

It'll greatly improve the experience for anyone wanting to work on the GCC backend from the compiler.

Should help with https://github.com/rust-lang/rust/issues/124172.
Will unblock #124353.

r? `@Kobzol`
2024-09-14 00:26:04 +00:00
bors
507c05bead Auto merge of #130121 - lolbinarycat:bootstrap-warn-old-upstream-worktree, r=albertlarsan68
bootstrap: handle worktrees in warn_old_master_branch

fixes #130111
2024-09-13 22:02:35 +00:00
bors
0609062a91 Auto merge of #130312 - matthiaskrgr:rollup-ihwsc91, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #129320 (Fix crash when labeling arguments for call_once and friends)
 - #130266 (target: default to the medium code model on LoongArch targets)
 - #130297 (Dataflow cleanups)
 - #130299 (Add set_dcx to ParseSess)
 - #130301 (some fixes for clashing_extern_declarations lint)
 - #130305 (Clippy: consider msrv for const context for const_float_bits_conv)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-09-13 19:21:37 +00:00
Matthias Krüger
5343fcdf17
Rollup merge of #130305 - tspiteri:clippy-msrv-for-const_float_bits_conv, r=flip1995
Clippy: consider msrv for const context for const_float_bits_conv

When `const_float_bits_conv` was stabilized for 1.83.0, clippy lints started to be triggered in const context ignoring MSRV. This PR makes the lints trigger in const context only when the MSRV meets 1.83.0.

Fixes https://github.com/rust-lang/rust-clippy/issues/13383.
2024-09-13 18:25:47 +02:00
Guillaume Gomez
e7fa03ba5e Remove gcc changes for dist build 2024-09-13 17:14:40 +02:00
bors
20862e4653 Auto merge of #3881 - RalfJung:miri-run, r=RalfJung
./miri run: directly run binary instead of using 'cargo run'

This avoids re-building miri without dev dependencies, so it makes `./miri run` a lot faster if `./miri test` was already executed before.
2024-09-13 15:09:11 +00:00
Ralf Jung
03f14f00bf ./miri run: directly run binary instead of using 'cargo run' 2024-09-13 17:03:37 +02:00
bors
0307e401c2 Auto merge of #130215 - RalfJung:interpret-simd, r=compiler-errors
interpret: simplify SIMD type handling

This is possible as a follow-up to https://github.com/rust-lang/rust/pull/129403
2024-09-13 13:55:22 +00:00
Ralf Jung
e2bc16c101 interpret: simplify SIMD type handling 2024-09-13 15:26:08 +02:00
Trevor Spiteri
581f1924e3 handle transmutes in const context if msrvs::CONST_FLOAT_BITS_CONV 2024-09-13 13:57:41 +02:00
Trevor Spiteri
d195f80639 Revert "stabilize const_float_bits_conv" for src/tools/clippy/clippy_lints
This reverts the part of commit 19908ff7a3 in
subdirectory src/tools/clippy/clippy_lints.
2024-09-13 13:56:41 +02:00
Ralf Jung
dd01ee7cd2 smoke-test './miri run --dep' 2024-09-13 11:49:01 +02:00
Stuart Cook
26bda05938
Rollup merge of #130261 - onur-ozkan:#130242, r=Kobzol
skip target sanity check when it's a `local-rebuild`

Running the stage0 target sanity check on the newly built compiler can result in errors and incorrect assumptions.

Resolves #130242
2024-09-13 19:38:00 +10:00
Stuart Cook
368718961c
Rollup merge of #130245 - RalfJung:miri-alloc-backtrace, r=Amanieu
make basic allocation functions track_caller in Miri for nicer backtraces

This matches what we did with basic pointer and atomic operations.
2024-09-13 19:37:59 +10:00
Eric Huss
df8e6c343c Revert "Auto merge of #130040 - onur-ozkan:llvm-tools-with-ci-rustc, r=Kobzol"
This reverts commit adaff5368b, reversing
changes made to 2e8db5e9e3.
2024-09-12 20:18:56 -07:00
bors
adaff5368b Auto merge of #130040 - onur-ozkan:llvm-tools-with-ci-rustc, r=Kobzol
unify `llvm-bitcode-linker`, `wasm-component-ld` and llvm-tools logics

To use the precompiled `ci-rustc` in CI, we need to install `llvm-bitcode-linker` and LLVM tools into ci-rustc's sysroot. Without them some CI pipelines may fail, as shown [here](https://github.com/rust-lang/rust/pull/122709#issuecomment-2334365988).

Blocker for https://github.com/rust-lang/rust/pull/122709
2024-09-12 20:51:46 +00:00
Ralf Jung
b7c7a45b30 enable all pthread tests on Solarish 2024-09-12 22:02:10 +02:00
Ralf Jung
e4d0ae9b9d add non-portable linux pthread initializers to layout sanity check 2024-09-12 22:00:04 +02:00
Stuart Cook
458a57adeb
Rollup merge of #130256 - Zalathar:dump-stamp, r=jieyouxu
Re-run coverage tests if `coverage-dump` was modified

If the `coverage-dump` tool was modified, coverage tests should not be treated as up-to-date, because the tool's output might have changed.

Bootstrap already handles rebuilding the tool itself if its sources were changed, so all compiletest needs to do here is include the binary in the list of files whose timestamps are checked.

This should have no effect on non-coverage tests, because bootstrap won't pass the `--coverage-dump-path` flag, so the path in compiletest's config will be None.
2024-09-12 20:37:18 +10:00
Stuart Cook
a3d9d13d7a
Rollup merge of #130252 - compiler-errors:const-gen, r=chenyukang
Properly report error on `const gen fn`

Fixes #130232

Also removes some (what I thought were unused) functions, and fixes a bug in clippy where we considered `gen fn` to be the same as `fn` because it was only built to consider asyncness.
2024-09-12 20:37:18 +10:00
Stuart Cook
c7162da850
Rollup merge of #130156 - nebulark:test_buildinfo, r=jieyouxu
Add test for S_OBJNAME & update test for LF_BUILDINFO cl and cmd

Update the unit test for checking cl and cmd in LF_BUILDINFO. With llvm-pdbutil we can now more specifically check if the string appears at the right location instead of just checking whether the string exists at all.
Context: https://github.com/rust-lang/rust/issues/96475
2024-09-12 20:37:15 +10:00
Stuart Cook
65a5cd467d
Rollup merge of #129367 - madsmtm:fix-apple-aarch64-deployment-targets, r=jieyouxu
Fix default/minimum deployment target for Aarch64 simulator targets

The minimum that `rustc` encoded did not match [the version in Clang](https://github.com/llvm/llvm-project/blob/llvmorg-18.1.8/llvm/lib/TargetParser/Triple.cpp#L1900-L1932), and that meant that that when linking, Clang ended up bumping the version. See https://github.com/rust-lang/rust/issues/129432 for more motivation behind this change.

Specifically, this PR sets the correct deployment target of the following targets:
- `aarch64-apple-ios-sim` from 10.0 to 14.0
- `aarch64-apple-tvos-sim` from 10.0 to 14.0
- `aarch64-apple-watchos-sim` from 5.0 to 7.0
- `aarch64-apple-ios-macabi` from 13.1 to 14.0

I have chosen not to document the `-sim` changes in the platform support docs, as it is fundamentally uninteresting; the normal targets (e.g. `aarch64-apple-ios`) still have the same deployment target, and that's what developers should actually target.

r? compiler

CC `@BlackHoleFox`
2024-09-12 20:37:15 +10:00
onur-ozkan
654513e202 use local-rebuild instead of BOOTSTRAP_SKIP_TARGET_SANITY workaround
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-12 08:53:28 +03:00
onur-ozkan
041b59eb62 skip target sanity check when it's a local-rebuild
Running the stage0 target sanity check on the newly built compiler can result
in errors and incorrect assumptions.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-12 08:52:45 +03:00
The Miri Cronjob Bot
93ef7cd2dd Merge from rustc 2024-09-12 05:15:02 +00:00
Ralf Jung
b72b42d36f move a test to a better location 2024-09-12 08:08:38 +02:00
The Miri Cronjob Bot
2f09cac1a4 Preparing for merge from rustc 2024-09-12 05:07:13 +00:00
bors
1f51450c68 Auto merge of #117465 - paulmenage:small-data-limit, r=compiler-errors
Add -Z small-data-threshold

This flag allows specifying the threshold size above which LLVM should not consider placing small objects in a `.sdata` or `.sbss` section.

Support is indicated in the target options via the
small-data-threshold-support target option, which can indicate either an
LLVM argument or an LLVM module flag.  To avoid duplicate specifications
in a large number of targets, the default value for support is
DefaultForArch, which is translated to a concrete value according to the
target's architecture.
2024-09-12 04:27:08 +00:00
Zalathar
ed9b2bac36 Re-run coverage tests if coverage-dump was modified 2024-09-12 12:47:55 +10:00
Michael Goulet
8dc227866f Remove unused functions from ast CoroutineKind 2024-09-11 19:24:40 -04:00
Jubilee
142598214c
Rollup merge of #130239 - RalfJung:miri-ptr-offset-unsigned, r=compiler-errors
miri: fix overflow detection for unsigned pointer offset

This is the Miri part of https://github.com/rust-lang/rust/pull/130229. This is already UB in codegen so we better make Miri detect it; updating the docs may take time if we have to follow some approval process, but let's make Miri match reality ASAP.

r? ``@scottmcm``
2024-09-11 15:53:24 -07:00
Jubilee
abf0ac5ba0
Rollup merge of #129696 - RalfJung:stdarch, r=Amanieu
update stdarch

The goal is mostly to pull in https://github.com/rust-lang/stdarch/pull/1633.

r? ```@Amanieu```
2024-09-11 15:53:21 -07:00
Ralf Jung
03e8c95809 make basic allocation functions track_caller in Miri for nicer backtraces 2024-09-11 22:38:21 +02:00
onur-ozkan
496709356c unify llvm-bitcode-linker, wasm-component-ld and llvm-tools logics
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-11 22:56:42 +03:00
Ralf Jung
3842ea671b miri: fix overflow detection for unsigned pointer offset 2024-09-11 20:40:55 +02:00
Matthias Krüger
ff4b3d4780
Rollup merge of #130161 - onur-ozkan:fmt-changed-files, r=Kobzol,RalfJung
refactor merge base logic and fix `x fmt`

When remote upstream is not configured, using [get_git_modified_files](38e3a5771c/src/tools/build_helper/src/git.rs (L114)) to find modified files fails because [get_rust_lang_rust_remote](38e3a5771c/src/tools/build_helper/src/git.rs (L46-L48)) can not resolve "rust-lang/rust" from the git output. The changes in this PR makes bootstrap to find the latest bors commit, treating it as the "closest upstream commit" so that the change tracker logic can use it to find the diffs.

In addition, [skips formatting](e392454483) if there are no modified files.

Fixes #130147
2024-09-11 20:04:24 +02:00
bors
16beabe1e1 Auto merge of #130212 - DianQK:llvm-19, r=nikic
Update LLVM to 19 327ca6c

Fixes #129887.

r? nikic
2024-09-11 10:57:43 +00:00
Ralf Jung
542a6c67ae miri: support vector index arguments in simd_shuffle 2024-09-11 11:19:46 +02:00
Ralf Jung
7e6ce60ffb also allow illumos to use mmap for its stack guard 2024-09-11 10:03:13 +02:00
onur-ozkan
5f32717649 document the new git logic in more detail
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-11 08:33:34 +03:00
The Miri Cronjob Bot
19fa141a6d Merge from rustc 2024-09-11 05:12:24 +00:00
The Miri Cronjob Bot
4712e57255 Preparing for merge from rustc 2024-09-11 05:04:32 +00:00
bors
a9fb00bfa4 Auto merge of #129975 - notriddle:notriddle/lint-skip, r=GuillaumeGomez
rustdoc: unify the short-circuit on all lints

This is a bit of an experiment to see if it improves perf.
2024-09-11 01:17:54 +00:00
DianQK
7c692e13b1
Update LLVM to 19 327ca6c 2024-09-11 07:59:27 +08:00
bors
6f7229c4da Auto merge of #129403 - scottmcm:only-array-simd, r=compiler-errors
Ban non-array SIMD

Nearing the end of https://github.com/rust-lang/compiler-team/issues/621 !

Currently blocked on ~~https://github.com/rust-lang/compiler-builtins/pull/673~~ ~~https://github.com/rust-lang/compiler-builtins/pull/674~~ ~~https://github.com/rust-lang/rust/pull/129400~~ ~~https://github.com/rust-lang/rust/pull/129481~~ for windows.
2024-09-10 22:47:40 +00:00