Skip to content

[lldb] Mark forward C++ interop test XFAIL #9538

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

Merged
merged 1 commit into from
Nov 7, 2024

Conversation

Xazax-hun
Copy link

@Xazax-hun Xazax-hun commented Nov 7, 2024

After Swift PR 77323, we import C++ source locations for imported code. This improves some diagnostics but also breaks some of the heuristics LLDB have to select the right frame on traps. This PR marks the test XFAIL until we figure out a better heuristic to stop at the right frame. This is not a trivial question as we cannot just mark all C++ imported source locations artifical, some of that code is user written, some is not (coming from frameworks, STL). Moreover, some users might prefer to stop in the C++ code and some users might prefer to stop in Swift code.

@Xazax-hun
Copy link
Author

Please test with following pull request:
swiftlang/swift#77323

@swift-ci please test

Copy link

@Michael137 Michael137 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

C++ imported source locations artifical, some of that code is user written, some is not (coming from frameworks, STL). Moreover, some users might prefer to stop in the C++ code and some users might prefer to stop in Swift code.

In my opinion we shouldn't stop inside STL frames (regardless of whether they're Swift/C++/Swift-C++ interop), since that's what we do with regular libc++ too. Whether to do it by marking those frames artificial, I'm not 100% sure (e.g., that's not what we do for libc++). But I agree that we should have ways to let users step into/stop in the C++ interop glue if they want to.

After Swift PR llvm#77323, we import C++ source locations for imported code.
This improves some diagnostics but also breaks some of the heuristics
LLDB have to select the right frame on traps. This PR marks the test
XFAIL until we figure out a better heuristic to stop at the right frame.
This is not a trivial question as we cannot just mark all C++ imported
source locations artifical, some of that code is user written, some is
not (coming from frameworks, STL). Moreover, some users might prefer to
stop in the C++ code and some users might prefer to stop in Swift code.
@Xazax-hun Xazax-hun force-pushed the mark-lldb-test-xfail branch from 6e153ae to 1c0bdf9 Compare November 7, 2024 13:21
@Xazax-hun
Copy link
Author

Please test with following pull request:
swiftlang/swift#77323

@swift-ci please test

@Xazax-hun Xazax-hun merged commit ef32f25 into stable/20240723 Nov 7, 2024
3 checks passed
@Xazax-hun Xazax-hun deleted the mark-lldb-test-xfail branch November 7, 2024 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants