-
Notifications
You must be signed in to change notification settings - Fork 344
[lldb] Enable auto-detection of Swift/C++ interop #6509
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
[lldb] Enable auto-detection of Swift/C++ interop #6509
Conversation
@swift-ci test |
@@ -170,6 +170,14 @@ typedef enum SwiftModuleLoadingMode { | |||
eSwiftModuleLoadingModeOnlyInterface, // Load via .swiftinterface only | |||
} SwiftModuleLoadingMode; | |||
|
|||
// BEGIN SWIFT | |||
enum EnableCxxInteropOpts { |
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.
Should we call this EnableSwiftCxx?
059e078
to
45ae370
Compare
lldb/source/Core/Module.cpp
Outdated
// libraries shipped with Swift are written in C++. | ||
auto name = GetFileSpec().GetFileNameStrippingExtension().GetStringRef(); | ||
if (name.startswith("libswift")) | ||
return false; |
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.
This a per-module function, so this would misfire for libSwiftCore.dSYM, which generally only people manually building their own Swift compiler would even have. Since developers might legitimately name libraries libswift*
maybe it's better to accept a false positive inside the standard library for those few people that have debug info for it?
lldb/source/Target/Target.cpp
Outdated
for (size_t mi = 0; mi != num_images; ++mi) { | ||
ModuleSP module_sp = GetImages().GetModuleAtIndex(mi); | ||
if (module_sp->IsSwiftCxxInteropEnabled()) { | ||
m_is_swift_cxx_interop_enabled = eLazyBoolYes; |
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.
Ah I see. The problem is that we merge the info from all modules.
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.
Can you make sure this is printed in SwiftASTContext::LogConfiguration?
45ae370
to
d0f92f7
Compare
@swift-ci test |
@swift-ci test macOS |
d0f92f7
to
0c209bc
Compare
@swift-ci test |
1 similar comment
@swift-ci test |
0c209bc
to
9eb5615
Compare
@swift-ci test |
9eb5615
to
da00776
Compare
@swift-ci test |
da00776
to
dba0067
Compare
dba0067
to
716b87c
Compare
Implement SymbolFile::GetCompileOptions, which returns a map from compilation units to compilation arguments associated with that unit. Differential Revision: https://reviews.llvm.org/D147748 (cherry picked from commit 19d969e)
rdar://97610458
716b87c
to
c113ef8
Compare
@swift-ci test |
rdar://97610458