-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Fix ICE in non-operand aggregate_raw_ptr
intrinsic codegen
#125184
Conversation
r? @fee1-dead rustbot has assigned @fee1-dead. Use |
aggregate_raw_ptr
instrinsic codegenaggregate_raw_ptr
intrinsic codegen
use std::intrinsics::aggregate_raw_ptr; | ||
|
||
// InstSimplify replaces these with casts if it can, which means they're almost | ||
// never seen in codegen, but PR#121571 found a way, so add a test for it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ICE demonstration: https://godbolt.org/z/Y7o63MzPn
Hmm, I might be doing something wrong, but this doesn't seem to actually fix the issue encountered in #121571; rebased on this commit and still running into the same ICE. I pushed the rebased version onto that branch for you to test, which should also help verify if it's still breaking on CI and isn't just my setup. EDIT: Yup, it's still happening on CI. #121571 (comment) EDIT 2: Oh, it's just that the bug is in the bootstrap compiler. :( |
r? compiler |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! The changes look good to me.
@bors r+ rollup |
…iaskrgr Rollup of 4 pull requests Successful merges: - rust-lang#125117 (Improve parser) - rust-lang#125184 (Fix ICE in non-operand `aggregate_raw_ptr` intrinsic codegen) - rust-lang#125240 (Temporarily revert to NonZeroUsize in rustc-abi to fix building on stable) - rust-lang#125248 (Migrate `run-make/rustdoc-scrape-examples-invalid-expr` to `rmake.rs`) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#125184 - scottmcm:fix-thin-ptr-ice, r=jieyouxu Fix ICE in non-operand `aggregate_raw_ptr` intrinsic codegen Introduced in rust-lang#123840 Found in rust-lang#121571, cc `@clarfonthey`
I would like this in beta so that the stage0 compiler does not ICE if it gets passed |
[beta] backports - Fix insufficient logic when searching for the underlying allocation rust-lang#124761 - Handle field projections like slice indexing in invalid_reference_casting rust-lang#124908 - Handle Deref expressions in invalid_reference_casting rust-lang#124978 - Fix ICE in non-operand `aggregate_raw_ptr` instrinsic codegen rust-lang#125184 - Wrap Context.ext in AssertUnwindSafe rust-lang#125392 - Revert problematic opaque type change rust-lang#125489 - ast: Revert a breaking attribute visiting order change rust-lang#125734 - Update to LLVM 18.1.7 rust-lang#126061 r? cuviper
[beta] backports - Fix insufficient logic when searching for the underlying allocation rust-lang#124761 - Handle field projections like slice indexing in invalid_reference_casting rust-lang#124908 - Handle Deref expressions in invalid_reference_casting rust-lang#124978 - Fix ICE in non-operand `aggregate_raw_ptr` instrinsic codegen rust-lang#125184 - Wrap Context.ext in AssertUnwindSafe rust-lang#125392 - Revert problematic opaque type change rust-lang#125489 - ast: Revert a breaking attribute visiting order change rust-lang#125734 - Update to LLVM 18.1.7 rust-lang#126061 - Revert "Disallow ambiguous attributes on expressions" on beta rust-lang#126102 / rust-lang#126101 - Silence double-symlink errors while building solaris toolchain rust-lang#126011 r? cuviper
[beta] backports - Fix insufficient logic when searching for the underlying allocation rust-lang#124761 - Handle field projections like slice indexing in invalid_reference_casting rust-lang#124908 - Handle Deref expressions in invalid_reference_casting rust-lang#124978 - Fix ICE in non-operand `aggregate_raw_ptr` instrinsic codegen rust-lang#125184 - Wrap Context.ext in AssertUnwindSafe rust-lang#125392 - Revert problematic opaque type change rust-lang#125489 - ast: Revert a breaking attribute visiting order change rust-lang#125734 - Update to LLVM 18.1.7 rust-lang#126061 - Revert "Disallow ambiguous attributes on expressions" on beta rust-lang#126102 / rust-lang#126101 - Silence double-symlink errors while building solaris toolchain rust-lang#126011 r? cuviper
Introduced in #123840
Found in #121571, cc @clarfonthey