about summary refs log tree commit diff
path: root/compiler/rustc_parse/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-08-22 04:05:26 +0000
committerbors <bors@rust-lang.org>2025-08-22 04:05:26 +0000
commitd127901d940d96209fd2ae8ff6769ad2788099fb (patch)
tree87273d27c025d702cd72d156dfcc9202e3575729 /compiler/rustc_parse/src
parent8e3710ef31a0b2cdf5a1c2f3929b7735d1e28c20 (diff)
parentf68bcb376da2a34b6809ba76dad20ca400bd9966 (diff)
downloadrust-d127901d940d96209fd2ae8ff6769ad2788099fb.tar.gz
rust-d127901d940d96209fd2ae8ff6769ad2788099fb.zip
Auto merge of #145410 - cuviper:expand-stack, r=lqd
rustc_expand: ensure stack in `InvocationCollector::visit_expr`

In Fedora, when we built rustc with PGO on ppc64le, we started failing
the test `issue-74564-if-expr-stack-overflow.rs`. This could also be
reproduced on other arches by setting a smaller `RUST_MIN_STACK`, so
it's probably just unlucky that ppc64le PGO created a large stack frame
somewhere in this recursion path. Adding an `ensure_sufficient_stack`
solves the stack overflow.

Historically, that test and its fix were added in rust-lang/rust#74708,
which was also an `ensure_sufficient_stack` in this area of code at the
time. However, the refactor in rust-lang/rust#92573 basically left that
to the general `MutVisitor`, and then rust-lang/rust#142240 removed even
that ensure call. It may be luck that our tier-1 tested targets did not
regress the original issue across those refactors.
Diffstat (limited to 'compiler/rustc_parse/src')
0 files changed, 0 insertions, 0 deletions