Skip to content

Forbid CHECK: br and CHECK-NOT: br in codegen tests (suggest br {{.*}} instead) - #149190

Merged
bors merged 2 commits into
rust-lang:mainfrom
zachs18:chilly
Nov 27, 2025
Merged

Forbid CHECK: br and CHECK-NOT: br in codegen tests (suggest br {{.*}} instead)#149190
bors merged 2 commits into
rust-lang:mainfrom
zachs18:chilly

Conversation

@zachs18

Copy link
Copy Markdown
Contributor

// CHECK-NOT: br is fragile to false positives in mangled symbol names, while // CHECK-NOT: br {{.*}} is not. Remove and forbid the former in codegen tests, and suggest the latter.

cc #149125 (comment) where this caused a CI failure due to a v0 mangled symbol containing br in a disambiguator/crate hash/something.

v0 mangling can produce symbols with 'br' as a substring, leading to false positives for CHECK-NOT
@rustbotrustbot added A-tidy Area: The tidy tool S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Nov 21, 2025
@rustbot

Copy link
Copy Markdown
Collaborator

r? @Mark-Simulacrum

rustbot has assigned @Mark-Simulacrum.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@Mark-Simulacrum

Copy link
Copy Markdown
Member

@bors r+

@bors

bors commented Nov 26, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit 238ef54 has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@borsbors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 26, 2025
Zalathar added a commit to Zalathar/rust that referenced this pull request Nov 26, 2025
Forbid `CHECK: br` and `CHECK-NOT: br` in codegen tests (suggest `br {{.*}}` instead)
`// CHECK-NOT: br` is fragile to false positives in mangled symbol names, while `// CHECK-NOT: br {{.*}}` is not. Remove and forbid the former in codegen tests, and suggest the latter.
cc rust-lang#149125 (comment) where this caused a CI failure due to a v0 mangled symbol containing `br` in a disambiguator/crate hash/something.
Zalathar added a commit to Zalathar/rust that referenced this pull request Nov 26, 2025
Forbid `CHECK: br` and `CHECK-NOT: br` in codegen tests (suggest `br {{.*}}` instead)
`// CHECK-NOT: br` is fragile to false positives in mangled symbol names, while `// CHECK-NOT: br {{.*}}` is not. Remove and forbid the former in codegen tests, and suggest the latter.
cc rust-lang#149125 (comment) where this caused a CI failure due to a v0 mangled symbol containing `br` in a disambiguator/crate hash/something.
Zalathar added a commit to Zalathar/rust that referenced this pull request Nov 26, 2025
Forbid `CHECK: br` and `CHECK-NOT: br` in codegen tests (suggest `br {{.*}}` instead)
`// CHECK-NOT: br` is fragile to false positives in mangled symbol names, while `// CHECK-NOT: br {{.*}}` is not. Remove and forbid the former in codegen tests, and suggest the latter.
cc rust-lang#149125 (comment) where this caused a CI failure due to a v0 mangled symbol containing `br` in a disambiguator/crate hash/something.
@ZalatharZalathar mentioned this pull request Nov 26, 2025
bors added a commit that referenced this pull request Nov 26, 2025
Rollup of 19 pull requests
Successful merges:
- #148048 (Stabilize `maybe_uninit_write_slice`)
- #148641 (Add a diagnostic attribute for special casing const bound errors for non-const impls)
- #148765 (std: split up the `thread` module)
- #149074 (Add Command::get_env_clear)
- #149097 (num: Implement `uint_gather_scatter_bits` feature for unsigned integers)
- #149131 (optimize `slice::Iter::next_chunk`)
- #149190 (Forbid `CHECK: br` and `CHECK-NOT: br` in codegen tests (suggest `br {{.*}}` instead))
- #149239 (clarify float min/max behavios for NaNs and signed zeros)
- #149243 (Fix typo and clarify bootstrap change tracker entry)
- #149270 (implement `Iterator::{exactly_one, collect_array}`)
- #149295 (Suggest _bytes versions of endian-converting methods)
- #149301 (Motor OS: make decode_error_kind more comprehensive)
- #149306 (bootstrap: Miri now handles jemalloc like everything else)
- #149325 (rustdoc: add regression test for #140968)
- #149332 (fix rustdoc search says “Consider searching for "null" instead.” #149324)
- #149349 (Fix typo in comment.)
- #149353 (Tidying up UI tests [3/N])
- #149355 (Document that `build.description` affects symbol mangling and crate IDs)
- #149360 (Enable CI download for windows-gnullvm)
r? `@ghost`
`@rustbot` modify labels: rollup
@ZalatharZalathar mentioned this pull request Nov 27, 2025
bors added a commit that referenced this pull request Nov 27, 2025
Rollup of 12 pull requests
Successful merges:
- #147115 (More robust stack protector testing)
- #148048 (Stabilize `maybe_uninit_write_slice`)
- #148641 (Add a diagnostic attribute for special casing const bound errors for non-const impls)
- #149074 (Add Command::get_env_clear)
- #149097 (num: Implement `uint_gather_scatter_bits` feature for unsigned integers)
- #149131 (optimize `slice::Iter::next_chunk`)
- #149190 (Forbid `CHECK: br` and `CHECK-NOT: br` in codegen tests (suggest `br {{.*}}` instead))
- #149239 (clarify float min/max behavios for NaNs and signed zeros)
- #149243 (Fix typo and clarify bootstrap change tracker entry)
- #149301 (Motor OS: make decode_error_kind more comprehensive)
- #149306 (bootstrap: Miri now handles jemalloc like everything else)
- #149325 (rustdoc: add regression test for #140968)
r? `@ghost`
`@rustbot` modify labels: rollup
@bors
bors merged commit 39a8f75 into rust-lang:mainNov 27, 2025
11 checks passed
@rustbotrustbot added this to the 1.93.0 milestone Nov 27, 2025
rust-timer added a commit that referenced this pull request Nov 27, 2025
Rollup merge of #149190 - zachs18:chilly, r=Mark-Simulacrum
Forbid `CHECK: br` and `CHECK-NOT: br` in codegen tests (suggest `br {{.*}}` instead)
`// CHECK-NOT: br` is fragile to false positives in mangled symbol names, while `// CHECK-NOT: br {{.*}}` is not. Remove and forbid the former in codegen tests, and suggest the latter.
cc #149125 (comment) where this caused a CI failure due to a v0 mangled symbol containing `br` in a disambiguator/crate hash/something.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-tidyArea: The tidy toolS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@zachs18@rustbot@Mark-Simulacrum@bors