Commit Graph

267883 Commits

Author SHA1 Message Date
bjorn3
aeaea1b4b1 Add a mailmap entry for bjorn3 2024-10-08 12:09:19 +02:00
bors
cf24c73141 Auto merge of #126733 - ZhuUx:llvm-19-adapt, r=Zalathar
[Coverage][MCDC] Adapt mcdc to llvm 19

Related issue: #126672

Also finish task 4 at #124144

[llvm #82448](https://github.com/llvm/llvm-project/pull/82448) has introduced some break changes into mcdc, causing incompatibility between llvm 18 and 19. This draft adapts to that change and gives up supporting for llvm-18.
2024-10-08 07:08:41 +00:00
bors
e6c46db4e9 Auto merge of #131387 - Zalathar:rollup-kprp512, r=Zalathar
Rollup of 7 pull requests

Successful merges:

 - #130824 (Add missing module flags for `-Zfunction-return=thunk-extern`)
 - #131170 (Fix `target_vendor` in non-IDF Xtensa ESP32 targets)
 - #131355 (Add tests for some old fixed issues)
 - #131369 (Update books)
 - #131370 (rustdoc: improve `<wbr>`-insertion for SCREAMING_CAMEL_CASE)
 - #131379 (Fix utf8-bom test)
 - #131385 (Un-vacation myself)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-10-08 04:38:04 +00:00
zhuyunxing
acd64fa0d9 coverage. Warn about too many test vectors 2024-10-08 11:15:26 +08:00
zhuyunxing
6e3e19f714 coverage. Adapt to mcdc mapping formats introduced by llvm 19 2024-10-08 11:15:24 +08:00
zhuyunxing
99bd601df5 coverage. MCDC ConditionId start from 0 to keep with llvm 19 2024-10-08 10:50:18 +08:00
zhuyunxing
911ac56e95 coverage. Disable supporting mcdc on llvm-18 2024-10-08 10:50:18 +08:00
Stuart Cook
e0555e93fd
Rollup merge of #131385 - jieyouxu:unvac, r=jieyouxu
Un-vacation myself

r? `@ghost`
2024-10-08 13:19:46 +11:00
Stuart Cook
2da0d40389
Rollup merge of #131379 - ehuss:fix-utf8-bom, r=jieyouxu
Fix utf8-bom test

The BOM was accidentally removed in https://github.com/rust-lang/rust/pull/57108

I had to move the run-pass line down, because compiletest doesn't seem to know about BOMs, so it does not parse the header if it is the first line.
2024-10-08 13:19:45 +11:00
Stuart Cook
ad96cf3685
Rollup merge of #131370 - notriddle:notriddle/screaming-camel-case, r=GuillaumeGomez
rustdoc: improve `<wbr>`-insertion for SCREAMING_CAMEL_CASE
2024-10-08 13:19:45 +11:00
Stuart Cook
4efe50d0a3
Rollup merge of #131369 - rustbot:docs-update, r=ehuss
Update books

## rust-lang/book

8 commits in 99cf75a5414fa8adbe3974bd0836661ca901708f..f38ce8baef98cb20229e56f1be2d50e345f11792
2024-10-07 13:21:46 UTC to 2024-09-25 22:46:26 UTC

- Swap assert_eq! parameters (rust-lang/book#4058)
- Add a short discussion of assignment and ownership in ch. 04 (rust-lang/book#4049)
- Standardize on 'adapter', not 'adaptor' (rust-lang/book#4057)
- A bit more clarity about all the stack types in 3.2 (rust-lang/book#4055)
- Mention move of individual struct fields in struct update syntax (rust-lang/book#4046)
- Convert ch05 to `<Listing>` (rust-lang/book#4051)
- Convert ch04 to `<Listing>` (rust-lang/book#4043)
- Fixed Ukrainian translation link to community repo (rust-lang/book#4039)

## rust-embedded/book

1 commits in dbae36bf3f8410aa4313b3bad42e374735d48a9d..f40a8b420ec4b4505d9489965e261f1d5c28ba23
2024-09-30 19:16:36 UTC to 2024-09-30 19:16:36 UTC

- Update macOS installation instructions (rust-embedded/book#379)

## rust-lang/nomicon

1 commits in 14649f15d232d509478206ee9ed5105641aa60d0..456b904f791751892b01282fd2757904993c4c26
2024-10-05 17:29:16 UTC to 2024-10-05 17:29:16 UTC

- Improve/fix description of drops (rust-lang/nomicon#465)

## rust-lang/reference

7 commits in 24fb2687cdbc54fa18ae4acf5d879cfceca77b2c..c64e52a3d306eac0129f3ad6c6d8806ab99ae2e9
2024-10-05 00:33:03 UTC to 2024-09-24 22:04:59 UTC

- Fix inline-assembly documentation for LoongArch (rust-lang/reference#1644)
- Explain how to name rule identifiers (rust-lang/reference#1609)
- Add `expr_2021` macro fragment specifier (rust-lang/reference#1580)
- Add spec identifier syntax to macro subchapters (rust-lang/reference#1625)
- Authoring guide: clarify standard library linking (rust-lang/reference#1629)
- Add spec identifiers to comments.md (rust-lang/reference#1563)
- Add identifier syntax to visibility-and-privacy.md (rust-lang/reference#1627)

## rust-lang/rust-by-example

3 commits in c79ec345f08a1e94494cdc8c999709a90203fd88..8bede1b919a81ab7d0c961f6bbf68d3efa297bd2
2024-09-30 13:38:03 UTC to 2024-09-30 13:32:58 UTC

- Minor improvements (rust-lang/rust-by-example#1888)
- Clarify that the associated type is also required by the Iterator trait (rust-lang/rust-by-example#1887)
- Add Chinese(zh) translation (rust-lang/rust-by-example#1886)

## rust-lang/rustc-dev-guide

34 commits in 555f3de2fa0d61c4294b74d245f1cbad6fcbf589..07bc9ca9eb1cd6d9fbbf758c2753b748804a134f
2024-10-07 15:09:03 UTC to 2024-09-24 17:49:14 UTC

- rustdoc: docs for search deduplication (rust-lang/rustc-dev-guide#1850)
- Revise test naming advice to discourage using issue numbers alone (rust-lang/rustc-dev-guide#2090)
- Document `bootstrap` integration with `rustc-perf` (rust-lang/rustc-dev-guide#2005)
- building: Update instructions for ./x setup editor (rust-lang/rustc-dev-guide#2086)
- [Testing 2/2] Revise revisions docs (rust-lang/rustc-dev-guide#2089)
- [Testing 1/2] Revise testing chapters excluding the directives chapter (rust-lang/rustc-dev-guide#2088)
- Fixed links to rust-analyzer configs for Emacs and Helix (rust-lang/rustc-dev-guide#2087)
- update `x install` documentation (rust-lang/rustc-dev-guide#2084)
- Rename "object safe" to "dyn compatible" (rust-lang/rustc-dev-guide#2083)
- Small follow-up to my "internal `#[rustc_*]` TEST attributes" PR (rust-lang/rustc-dev-guide#2082)
- Add documentation for `{{rust-src-base}}` (rust-lang/rustc-dev-guide#2079)
- building/suggested: Add instructions for Emacs & Helix (rust-lang/rustc-dev-guide#2080)
- Fix file paths to section 35.1 & 35.2 example code  (rust-lang/rustc-dev-guide#2078)
- Clarify how to disable warnings in deps (rust-lang/rustc-dev-guide#2015)
- Update compiler-src.md (rust-lang/rustc-dev-guide#1899)
- Update rustdoc build instructions (rust-lang/rustc-dev-guide#1917)
- Update salsa.md (rust-lang/rustc-dev-guide#1906)
- Update memory.md (rust-lang/rustc-dev-guide#1907)
- Update serialization.md (rust-lang/rustc-dev-guide#1909)
- update rustc-driver.md (rust-lang/rustc-dev-guide#1929)
- Update syntax-intro.md (rust-lang/rustc-dev-guide#1932)
- Update the-parser.md (rust-lang/rustc-dev-guide#1933)
- Update macro-expansion.md (rust-lang/rustc-dev-guide#1934)
- Clarify a little bit in MIR chapter (rust-lang/rustc-dev-guide#1986)
- Update name-resolution.md (rust-lang/rustc-dev-guide#1935)
- feat: Add section about partial clones with `git clone --filter='blob:none'` (rust-lang/rustc-dev-guide#2035)
- Mention rustc's stable-item-through-unstable-path bug being fixed (rust-lang/rustc-dev-guide#2064)
- Fix `is_diagnostic_item()` example (rust-lang/rustc-dev-guide#2013)
- Revise lldb debuginfo note wording to not imply *only* Python 3.10 can be installed (rust-lang/rustc-dev-guide#2077)
- Document `crashes` test suite (rust-lang/rustc-dev-guide#2075)
- Fix getting diagnostics example (rust-lang/rustc-dev-guide#2067)
- Document `#[rustc_default_body_unstable]` (rust-lang/rustc-dev-guide#2065)
- Describe `.git-blame-ignore-rev` (rust-lang/rustc-dev-guide#2072)
- Note lldb debuginfo requires `python310.dll` to be present in `PATH` on Windows (rust-lang/rustc-dev-guide#2076)
2024-10-08 13:19:44 +11:00
Stuart Cook
cc5a24caf6
Rollup merge of #131355 - clubby789:old-tests, r=jieyouxu
Add tests for some old fixed issues

Closes #30867
Closes #30472
Closes #28994
Closes #26719 (and migrates the relevant test to the new run-make)
Closes #23600

cc `@jieyouxu` for the run-make-support changes

try-job: x86_64-msvc
2024-10-08 13:19:44 +11:00
Stuart Cook
e416a9cf4e
Rollup merge of #131170 - madsmtm:target-info-esp32-vendor, r=workingjubilee
Fix `target_vendor` in non-IDF Xtensa ESP32 targets

`rustc`'s Xtensa ESP32 targets are the following:
- `xtensa-esp32-none-elf`
- `xtensa-esp32-espidf`
- `xtensa-esp32s2-none-elf`
- `xtensa-esp32s2-espidf`
- `xtensa-esp32s3-none-elf`
- `xtensa-esp32s3-espidf`

The ESP-IDF targets already set `target_vendor="espressif"`, however, the ESP32 is, from my understanding, produced by Espressif regardless of whether using the IDF or not, so we should set the target vendor there as well?
2024-10-08 13:19:43 +11:00
Stuart Cook
4d63896018
Rollup merge of #130824 - Darksonn:fix-function-return, r=wesleywiser
Add missing module flags for `-Zfunction-return=thunk-extern`

This fixes a bug in the `-Zfunction-return=thunk-extern` flag. The flag needs to be passed onto LLVM to ensure that functions such as `asan.module_ctor` and `asan.module_dtor` that are created internally in LLVM have the mitigation applied to them.

This was originally discovered [in the Linux kernel](https://lore.kernel.org/all/CANiq72myZL4_poCMuNFevtpYYc0V0embjSuKb7y=C+m3vVA_8g@mail.gmail.com/).

Original flag PR: #116892
PR for similar issue: #129373
Tracking issue: #116853

cc ``@ojeda``
r? ``@wesleywiser``
2024-10-08 13:19:43 +11:00
bors
b8495e5dd2 Auto merge of #130251 - saethlin:ptr-offset-preconditions, r=Amanieu
Add precondition checks to ptr::offset, ptr::add, ptr::sub

All of `offset`, `add`, and `sub` (currently) have the trivial preconditions that the offset in bytes must be <= isize::MAX, and the computation of the new address must not wrap. This adds precondition checks for these, and like in slice indexing, we use intrinsics directly to implement unsafe APIs that have explicit checks, because we get a clearer error message that mentions the misused API not an implementation detail.

Experimentation indicates these checks have 1-2% compile time overhead, due primarily to adding the checks for `add`.

A crater run (https://github.com/rust-lang/rust/pull/130251#issuecomment-2395824565) indicates some people currently have buggy calls to `ptr::offset` that apply a negative offset to a null pointer, but the crater run does not hit the `ptr::add` or `ptr::sub` checks, which seems like an argument for cfg'ing out those checks on account of their overhead.
2024-10-08 01:56:58 +00:00
许杰友 Jieyou Xu (Joe)
db6e31bba7 Remove myself from vacation 2024-10-07 23:40:17 +00:00
Eric Huss
89b0f8a689 Fix utf8-bom test
The BOM was accidentally removed in https://github.com/rust-lang/rust/pull/57108
2024-10-07 14:45:49 -07:00
bors
3ae715c8c6 Auto merge of #131343 - compiler-errors:remove-combine-fields, r=lcnr
Remove `CombineFields`

This conflicts with #131263, but if this one lands first then perhaps #131263 could then go ahead and remove all the branching on solver in `TypeRelating`. We could perhaps then rename `TypeRelating` to `OldSolverRelating` or something, idk.

r? lcnr
2024-10-07 21:23:06 +00:00
Michael Howell
f7eced3a21 Add comment to describe camelcase line break 2024-10-07 13:27:50 -07:00
bors
baaf3e65ab Auto merge of #131372 - workingjubilee:rollup-4tyqgx2, r=workingjubilee
Rollup of 7 pull requests

Successful merges:

 - #128721 (Don't allow the `#[pointee]` attribute where it doesn't belong)
 - #130479 (skip in-tree compiler build for llvm-bitcode-linker if ci-rustc is on)
 - #130899 (Couple of changes to make it easier to compile rustc for wasm)
 - #131225 (`rustc_borrowck` memory management tweaks)
 - #131351 (Remove valgrind test suite and support from compiletest, bootstrap and opt-dist)
 - #131359 (Fix used_underscore_binding in rustc_serialize)
 - #131367 (Mark Boxy as on vacation)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-10-07 18:12:27 +00:00
Jubilee
ee6663e24c
Rollup merge of #131367 - compiler-errors:unboxy, r=lqd
Mark Boxy as on vacation

Boxy asked me to do this since she's busy :D

cc `@BoxyUwU`
2024-10-07 11:10:55 -07:00
Jubilee
3f88d6a83a
Rollup merge of #131359 - practicalrs:fix_used_underscore_binding, r=jieyouxu
Fix used_underscore_binding in rustc_serialize

Hi,

This PR fixes the following clippy warnings in rustc_serialize

```
warning: used underscore-prefixed binding
   --> compiler/rustc_serialize/src/opaque.rs:443:27
    |
443 |         debug_assert_eq!((_end_pos - _start_pos), IntEncodedWithFixedSize::ENCODED_SIZE);
    |                           ^^^^^^^^
    |
note: binding is defined here
   --> compiler/rustc_serialize/src/opaque.rs:442:13
    |
442 |         let _end_pos = e.position();
    |             ^^^^^^^^
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#used_underscore_binding
    = note: requested on the command line with `-W clippy::used-underscore-binding`

warning: used underscore-prefixed binding
   --> compiler/rustc_serialize/src/opaque.rs:443:38
    |
443 |         debug_assert_eq!((_end_pos - _start_pos), IntEncodedWithFixedSize::ENCODED_SIZE);
    |                                      ^^^^^^^^^^
    |
note: binding is defined here
   --> compiler/rustc_serialize/src/opaque.rs:440:13
    |
440 |         let _start_pos = e.position();
    |             ^^^^^^^^^^
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#used_underscore_binding
```

Best regards,
Michal
2024-10-07 11:10:55 -07:00
Jubilee
f88bfa34e1
Rollup merge of #131351 - jieyouxu:yeet-the-valgrind, r=Kobzol
Remove valgrind test suite and support from compiletest, bootstrap and opt-dist

The `run-pass-valgrind` test suite is not exercised in CI, and as far as I'm aware nobody runs it (asked in https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Are.20the.20valgrind.20tests.20even.20used.20by.20anyone.3F). What's remaining of valgrind support in compiletest isn't even properly hooked up with bootstrap.

The existing valgrind logic in compiletest is also straight up questionable, i.e.

1b3b8e7b02/src/tools/compiletest/src/runtest/valgrind.rs (L7-L12)

It just runs valgrind tests as `rpass` if no valgrind path is provided to compiletest from bootstrap -- but bootstrap doesn't even pass a valgrind path to compiletest in the first place, so this always ran as `rpass` tests. So what is this even testing?

So if it's not testing anything, let's delete it.

Closes #44816 by deleting the test suite :3

<img src="https://github.com/user-attachments/assets/99525bf7-e85b-40ba-9281-e4e1e275c4e8" width=300 />
2024-10-07 11:10:54 -07:00
Jubilee
9c4732a77d
Rollup merge of #131225 - nnethercote:rustc_borrowck-mm, r=lqd
`rustc_borrowck` memory management tweaks

Minor cleanups in `rustc_borrowck` relating to memory management.

r? `@lqd`
2024-10-07 11:10:54 -07:00
Jubilee
31fbf67ce3
Rollup merge of #130899 - bjorn3:wasi_bootstrap_fixes, r=davidtwco
Couple of changes to make it easier to compile rustc for wasm

This is a subset of the patches I have on my rust fork to compile rustc for wasm32-wasip1.
2024-10-07 11:10:53 -07:00
Jubilee
8cd9d954c7
Rollup merge of #130479 - onur-ozkan:llvm-bitcode-linker-multiple-candidates, r=Kobzol
skip in-tree compiler build for llvm-bitcode-linker if ci-rustc is on

Similar to https://github.com/rust-lang/rust/issues/108767, resolves the `multiple candidates` problem for ci-rustc.

See https://github.com/rust-lang/rust/pull/122709#issuecomment-2355436227 for more context.

Blocker for #122709.
2024-10-07 11:10:52 -07:00
Jubilee
bd2e7ee976
Rollup merge of #128721 - Brezak:pointee-in-strange-places, r=pnkfelix
Don't allow the `#[pointee]` attribute where it doesn't belong

Error if the `#[pointee]` attribute is applied to anything but generic type parameters.

Closes #128485
Related to #123430
2024-10-07 11:10:52 -07:00
Michael Howell
e23419fc97 rustdoc: improve <wbr>-insertion for SCREAMING_CAMEL_CASE 2024-10-07 10:52:39 -07:00
rustbot
4d7c6ca1bb Update books 2024-10-07 13:01:01 -04:00
clubby789
382365bfe3 Add test for issue 30867 2024-10-07 16:30:48 +00:00
clubby789
fa4f18be55 Add test for issue 30472 2024-10-07 16:30:48 +00:00
clubby789
b27c22d6b0 Add test for issue 28994 2024-10-07 16:30:47 +00:00
clubby789
3afb7d687c Migrate emit-to-stdout to new run-make
Co-authored-by: Oneirical <manchot@videotron.ca>
Co-authored-by: Chris Denton <chris@chrisdenton.dev>
2024-10-07 16:30:41 +00:00
clubby789
b577b26249 Add stdio configuring to run-make Rustc 2024-10-07 16:30:00 +00:00
clubby789
ad7d41ce90 Test for issue 23600 2024-10-07 16:29:52 +00:00
Ben Kimock
8d562f6cc5 Disable slice_iter mir-opt test in debug builds 2024-10-07 12:23:27 -04:00
Michael Goulet
65cff8a1ef Mark Boxy as on vacation 2024-10-07 12:17:55 -04:00
Ben Kimock
128ccc3c26 Bless mir-opt tests 2024-10-07 11:18:37 -04:00
Ben Kimock
9d5c961fa4 cfg out checks in add and sub but not offset
...because the checks in offset found bugs in a crater run.
2024-10-07 11:12:58 -04:00
Ben Kimock
6d246e47fb Add precondition checks to ptr::offset, ptr::add, ptr::sub 2024-10-07 11:12:58 -04:00
Michal Piotrowski
4085b48dfd
Fix used_underscore_binding in rustc_serialize 2024-10-07 15:02:45 +02:00
bors
7caad69253 Auto merge of #131354 - matthiaskrgr:rollup-hprnng2, r=matthiaskrgr
Rollup of 4 pull requests

Successful merges:

 - #131331 (Revert "warn_old_master_branch" check)
 - #131344 (Avoid `&Lrc<T>` in various places)
 - #131346 (Restrict `ignore-mode-*` directives)
 - #131353 (Add documentation for `runtest::check_rustdoc_test_option` method)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-10-07 11:30:33 +00:00
Matthias Krüger
fd2278d017
Rollup merge of #131353 - GuillaumeGomez:check_rustdoc_test_option, r=jieyouxu
Add documentation for `runtest::check_rustdoc_test_option` method

r? `@jieyouxu`
2024-10-07 12:23:56 +02:00
Matthias Krüger
7d7b43c39a
Rollup merge of #131346 - jieyouxu:prune-invalid-directives, r=Zalathar
Restrict `ignore-mode-*` directives

This is only used by coverage test suites where the same sources get run under different coverage modes. Restrict `ignore-mode-<coverage_mode>` to only coverage modes.
2024-10-07 12:23:55 +02:00
Matthias Krüger
df61a0b1b2
Rollup merge of #131344 - nnethercote:ref-Lrc, r=compiler-errors
Avoid `&Lrc<T>` in various places

Seeing `&Lrc<T>` is a bit suspicious, and `&T` or `Lrc<T>` is often better.

r? `@oli-obk`
2024-10-07 12:23:54 +02:00
Matthias Krüger
3a5a816190
Rollup merge of #131331 - onur-ozkan:131296, r=Kobzol
Revert "warn_old_master_branch" check

See https://github.com/rust-lang/rust/issues/131296#issuecomment-2395486918.

Reverts https://github.com/rust-lang/rust/pull/130121 and https://github.com/rust-lang/rust/pull/129584.

Fixes https://github.com/rust-lang/rust/issues/131296 and https://github.com/rust-lang/rust/issues/131324.
2024-10-07 12:23:54 +02:00
Guillaume Gomez
dde78bd946 Add documentation for runtest::check_rustdoc_test_option method 2024-10-07 12:09:28 +02:00
Michael Goulet
0c5d2f98d1 Remove At methods that are unused 2024-10-07 05:29:13 -04:00
Michael Goulet
5d62afd2ba Remove unnecessary DefineOpaqueTypes from lub 2024-10-07 05:29:13 -04:00
Michael Goulet
da71dfbc51 Inline CombineFields 2024-10-07 05:29:13 -04:00