Commit graph

8344 commits

Author SHA1 Message Date
Urgau
9190e960e1 Adjust clippy tests with new rustc help suggestion for lints 2023-09-04 14:22:02 +02:00
Ralf Jung
fb26c21c35 Merge from rustc 2023-09-03 09:28:31 +02:00
Ralf Jung
dc81d6c282 Preparing for merge from rustc 2023-09-03 09:28:30 +02:00
bors
585bb5e68d Auto merge of #115409 - RalfJung:llvm-merge-reland, r=lqd
bootstrap: use git merge-base for LLVM CI download logic

This re-lands https://github.com/rust-lang/rust/pull/113588, now that the perf issues are hopefully fixed by https://github.com/rust-lang/rustc-perf/pull/1684.
r? `@lqd` `@Mark-Simulacrum`

Fixes https://github.com/rust-lang/rust/issues/101907
2023-09-02 08:25:49 +00:00
Matthias Krüger
43e15613d1
Rollup merge of #115443 - epage:os_str, r=cuviper
feat(std): Stabilize 'os_str_bytes' feature

Closes #111544
2023-09-02 07:48:22 +02:00
Ralf Jung
97ee83068d Merge from rustc 2023-09-02 03:07:21 +02:00
Ralf Jung
d2923a4438 Preparing for merge from rustc 2023-09-02 03:02:47 +02:00
Ed Page
30292bb68e fix(std): Rename os_str_bytes to encoded_bytes 2023-09-01 19:33:16 -05:00
Matthias Krüger
db6ae0721b
Rollup merge of #115411 - RalfJung:miri-abi, r=oli-obk
miri ABI check: fix handling of 1-ZST; don't accept sign differences

r? `@oli-obk`
2023-09-01 21:41:39 +02:00
Ed Page
9aee1de612 feat(std): Stabilize 'os_str_bytes' feature
Closes #111544
2023-09-01 11:13:45 -05:00
Caio
0164f7e8b2
[clippy] Use symbols intended for arithmetic_side_effects 2023-09-01 10:28:55 +02:00
Ralf Jung
f28772f968 add '--skip-children' to rustfmt invocation 2023-09-01 08:30:31 +02:00
Ralf Jung
efc759238d miri ABI check: fix handling of 1-ZST; don't accept sign differences 2023-08-31 17:27:23 +02:00
Ralf Jung
cbe8a05903 update abi_compat.rs 2023-08-31 17:27:23 +02:00
Ralf Jung
fd92d956c8 don't ignore sign for ABI check 2023-08-31 17:02:53 +02:00
Ralf Jung
3e66914fc8 update target support section 2023-08-31 16:56:59 +02:00
Ralf Jung
270f777a30 bootstrap: use git merge-base for LLVM CI download logic 2023-08-31 15:45:15 +02:00
Ralf Jung
c2b0ca75aa more ABI compat tests 2023-08-31 13:21:55 +02:00
Ralf Jung
9db09c571f fmt 2023-08-31 11:34:43 +02:00
Ralf Jung
2de09d8ae4 Merge from rustc 2023-08-31 11:34:36 +02:00
Ralf Jung
4ea6a4bfe3 Preparing for merge from rustc 2023-08-31 11:32:11 +02:00
Ralf Jung
d86be8d32e make sure we test all tier 1 targets: i686-pc-windows-gnu was missing 2023-08-31 09:21:12 +02:00
The Miri Conjob Bot
f57b41519d fmt 2023-08-31 05:42:55 +00:00
The Miri Conjob Bot
31d9ac14f5 Merge from rustc 2023-08-31 05:40:49 +00:00
The Miri Conjob Bot
4b915b8a86 Preparing for merge from rustc 2023-08-31 05:34:07 +00:00
Ralf Jung
c37bd09d88 miri function ABI check: specifically look for repr(transparent) 2023-08-30 17:07:25 +02:00
Ralf Jung
c1a34729e1 organize failing ABI compat tests and add some more 2023-08-30 17:04:54 +02:00
Ralf Jung
1e95aa0c49 interpret: make sure we accept transparent newtypes as ABI-compatible
also we were missing the case for Vector arguments, so handle those as well
2023-08-30 17:04:54 +02:00
Ralf Jung
6d1ce9bd13 storage_live: avoid computing the layout unless necessary 2023-08-30 13:46:55 +02:00
Ralf Jung
a09df43d9f move marking-locals-live out of push_stack_frame, so it happens with argument passing
this entirely avoids even creating unsized locals in Immediate::Uninitialized state
2023-08-30 13:46:54 +02:00
Ralf Jung
bdd5855b8e interpret: fix projecting into an unsized field of a local
new invariant: Place::Local never refers to something unsized
2023-08-30 13:43:34 +02:00
bors
61efe9d298 Auto merge of #111713 - Zoxc:lock-switch, r=nnethercote
Use conditional synchronization for Lock

This changes `Lock` to use synchronization only if `mode::is_dyn_thread_safe` could be true. This reduces overhead for the parallel compiler running with 1 thread.

The emitters are changed to use `DynSend` instead of `Send` so they can still use `Lock`.

A Rayon thread pool is not used with 1 thread anymore, as session globals contains `Lock`s which are no longer `Sync`.

Performance improvement with 1 thread and `cfg(parallel_compiler)`:
<table><tr><td rowspan="2">Benchmark</td><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th></tr><tr><td align="right">Time</td><td align="right">Time</td><td align="right">%</th></tr><tr><td>🟣 <b>clap</b>:check</td><td align="right">1.7665s</td><td align="right">1.7336s</td><td align="right">💚  -1.86%</td></tr><tr><td>🟣 <b>hyper</b>:check</td><td align="right">0.2780s</td><td align="right">0.2736s</td><td align="right">💚  -1.61%</td></tr><tr><td>🟣 <b>regex</b>:check</td><td align="right">0.9994s</td><td align="right">0.9824s</td><td align="right">💚  -1.70%</td></tr><tr><td>🟣 <b>syn</b>:check</td><td align="right">1.5875s</td><td align="right">1.5656s</td><td align="right">💚  -1.38%</td></tr><tr><td>🟣 <b>syntex_syntax</b>:check</td><td align="right">6.0682s</td><td align="right">5.9532s</td><td align="right">💚  -1.90%</td></tr><tr><td>Total</td><td align="right">10.6997s</td><td align="right">10.5083s</td><td align="right">💚  -1.79%</td></tr><tr><td>Summary</td><td align="right">1.0000s</td><td align="right">0.9831s</td><td align="right">💚  -1.69%</td></tr></table>

cc `@SparrowLii`
2023-08-30 08:03:43 +00:00
Matthias Krüger
23f86255ef
Rollup merge of #115272 - RalfJung:miri-error-print, r=saethlin
miri/diagnostics: don't forget to print_backtrace when ICEing on unexpected errors

This should fix the missing output encountered [here](https://github.com/rust-lang/rust/issues/115145#issuecomment-1694334410).

r? `@saethlin`
2023-08-30 07:18:11 +02:00
John Kåre Alsaker
5739349e96 Use conditional synchronization for Lock 2023-08-30 06:10:02 +02:00
Weihang Lo
bba0ae1f18
Update cargo 2023-08-29 23:23:12 +01:00
bors
b2515fa741 Auto merge of #115183 - flip1995:clippyup, r=Manishearth,oli-obk
Update Clippy

r? `@oli-obk` Assigning you, because something broke with ui_test:

```
tests/ui/crashes/ice-7272.rs FAILED:
command: "<unknown>"

A bug in `ui_test` occurred: called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }

full stderr:

```

(and that 103 times)

Thought I would ping you, before starting to investigate. Maybe you know what's going on.
2023-08-29 17:03:26 +00:00
bors
bb90f81070 Auto merge of #112775 - c410-f3r:t3st3ss, r=petrochenkov
Move tests

r? `@petrochenkov`
2023-08-29 13:53:34 +00:00
Oli Scherer
4fdb4edf9b Bump ui_test 2023-08-29 13:47:06 +00:00
The Miri Conjob Bot
fb3565a848 fmt 2023-08-29 05:45:20 +00:00
The Miri Conjob Bot
650294cdc2 Merge from rustc 2023-08-29 05:43:09 +00:00
The Miri Conjob Bot
ca7acd48e6 Preparing for merge from rustc 2023-08-29 05:36:35 +00:00
bors
191dc54dbf Auto merge of #115182 - RalfJung:abi-compat-sign, r=b-naber
miri ABI compatibility check: accept u32 and i32

If only the sign differs, then surely these types are compatible. (We do still check that `arg_ext` is the same, just in case.)

Also I made it so that the ABI check must *imply* that size and alignment are the same, but it doesn't actively check that itself. With how crazy ABI constraints get, having equal size and align really shouldn't be used as a signal for anything I think...
2023-08-28 22:56:10 +00:00
Caio
5a69151d7d Move tests 2023-08-28 17:47:37 -03:00
Ralf Jung
e24fdbe5ab add tests for track_caller in closures and generators 2023-08-28 13:48:09 +02:00
Ralf Jung
ce6f304895 move basic track_caller test into their own fn 2023-08-28 13:44:42 +02:00
bors
4989b2e8cd Auto merge of #3039 - RalfJung:catch_panic, r=RalfJung
tests/catch_panic: make output easier to interpret
2023-08-28 10:14:32 +00:00
Ralf Jung
0966799b63 tests/catch_panic: make output easier to interpret 2023-08-28 12:13:19 +02:00
Matthias Krüger
32053f7602
Rollup merge of #115280 - RalfJung:panic-cleanup-triple-backtrace, r=Amanieu
avoid triple-backtrace due to panic-during-cleanup

Supersedes https://github.com/rust-lang/rust/pull/115020
Cc https://github.com/rust-lang/rust/issues/114954
r? ``@Amanieu``
2023-08-28 08:13:59 +02:00
Matthias Krüger
9fb586cb52
Rollup merge of #115278 - RalfJung:removed-error-codes, r=GuillaumeGomez
tell people what to do when removing an error code

Currently tidy and CI send developers on a wild goose chase:
- you edit the code
- CI/tidy tells you that an error code is gone, so you remove it from the list
- CI/tidy tells you that the markdown file is stale, so you remove that as well
- CI (but not tidy) tells you not to remove an error description and copy what E0001 does

Let's be nice to people and directly tell them what to do rather than making them follow misleading breadcrumbs.

r? ``@GuillaumeGomez``
2023-08-28 08:13:58 +02:00
Ralf Jung
776466d6b7 also ignore doctests 2023-08-27 20:28:29 +02:00