-
Notifications
You must be signed in to change notification settings - Fork 10.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clang crash when lowering windows CXX exception #86258
Comments
Rolling back to Clang16 and changing |
Here's a more sane example with the poison and undef mostly removed. |
Looks like it was a user issue. The problem here was that the type descriptor(first argument to catchpad) was null. Similarly, the second argument to The undef and poison in my examples were just a result of me minimizing the faulty input by hand. In my actual unminized input, the global variables being passed to CxxThrowException and CatchPad were hidden behind calls to getter methods. I am very confident that this causes Clang to crash because it expects that the EHTypeInfo and the type descriptors are global variables(instead of LLVM instructions). That would explain the assertion failure happening on the cast. |
Closing since resolved. It may make sense to add an assertion into |
@llvm/issue-subscribers-backend-x86 Author: None (Dynamu7777)
Given the input https://godbolt.org/z/Txd39vETh, clang crashes in `addTryBlockMapEntry`.
Input:
Backtrace:
|
Given the input https://godbolt.org/z/Txd39vETh, clang crashes in
addTryBlockMapEntry
.Input:
Backtrace:
The text was updated successfully, but these errors were encountered: