-
Notifications
You must be signed in to change notification settings - Fork 119
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
Workaround bug in test ObjCXXEHInterop_arc #226
Conversation
This aims to workaround the bug tracked in #222 |
The bot failed before running tests in build step:
|
The build failure is because newer versions of VS install a non-functional |
Hi David, thanks for your quick reply. Right, that seems to be the issue. In fact For the sake of getting the bot to run the I'd propose to add a commit for that and revert it afterwards. Then a squashing merge could eliminate the two right? What do you think? |
Can you guard the |
So the workaround is effective for ObjCXXEHInterop_arc, which is what this PR is about. |
Ok, I guess the plan would be: guard the respective |
9141d05
to
f9a7bc3
Compare
Hi David, sorry for the late follow-up. Actually, this PR is outdated. Instead of using the workaround, we should enable this test for Clang versions 15+. Let me put together a new PR for that. |
The test failure appears to origin from a Clang bug that is related to the CodeGen passes PreISelIntrinsicLowering and WinEHPrepare. In simple cases like this test, the workaround is effective. In complex cases it can cause a crash in Clang further down the line. Would it make sense to pull it into upstream libobjc2 until we have a fix in mainline Clang and a release that contains it?
The --disable-cleanups flag used here is not as general-purpose as it may sound. It's used in
WinEHPrepare.cpp
exclusively and only triggers a single branch.Happy to talk about an actual fix in more detail when time permits!