Skip to content

Commit b29780e

Browse files
committed
Avoid instantiating SwiftASTContextForModule in get_executable_triple() (NFC)
Instead we can directly query the triple of the module. rdar://113997661
1 parent 379927e commit b29780e

File tree

3 files changed

+20
-52
lines changed

3 files changed

+20
-52
lines changed

lldb/source/Plugins/TypeSystem/Swift/SwiftASTContext.cpp

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2064,19 +2064,6 @@ static lldb::ModuleSP GetUnitTestModule(lldb_private::ModuleList &modules) {
20642064
return ModuleSP();
20652065
}
20662066

2067-
static SwiftASTContext *GetModuleSwiftASTContext(Module &module) {
2068-
auto type_system_or_err =
2069-
module.GetTypeSystemForLanguage(lldb::eLanguageTypeSwift);
2070-
if (!type_system_or_err) {
2071-
llvm::consumeError(type_system_or_err.takeError());
2072-
return {};
2073-
}
2074-
auto *ts = llvm::dyn_cast_or_null<TypeSystemSwift>(type_system_or_err->get());
2075-
if (!ts)
2076-
return {};
2077-
return ts->GetSwiftASTContext();
2078-
}
2079-
20802067
/// Scan a newly added lldb::Module for Swift modules and report any errors in
20812068
/// its module SwiftASTContext to Target.
20822069
static void ProcessModule(
@@ -2313,10 +2300,7 @@ lldb::TypeSystemSP SwiftASTContext::CreateInstance(
23132300
auto get_executable_triple = [&]() -> llvm::Triple {
23142301
if (!exe_module_sp)
23152302
return {};
2316-
auto *exe_ast_ctx = GetModuleSwiftASTContext(*exe_module_sp);
2317-
if (!exe_ast_ctx)
2318-
return {};
2319-
return exe_ast_ctx->GetLanguageOptions().Target;
2303+
return exe_module_sp->GetArchitecture().GetTriple();
23202304
};
23212305

23222306
llvm::Triple computed_triple;

lldb/test/API/lang/swift/clangimporter/Werror/TestSwiftStripWerror.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def setUp(self):
1717
@swiftTest
1818
def test(self):
1919
"""This tests that -Werror is removed from ClangImporter options by
20-
introducing two conflicting macro definitions in idfferent dylibs.
20+
introducing two conflicting macro definitions in different dylibs.
2121
"""
2222
self.build()
2323
target, _, _, _ = lldbutil.run_to_source_breakpoint(
@@ -26,17 +26,13 @@ def test(self):
2626

2727
# Turn on logging.
2828
log = self.getBuildArtifact("types.log")
29-
self.expect("log enable lldb types -f " + log)
29+
self.expect('log enable lldb types -f "%s"' % log)
3030

3131
self.expect("expression foo", DATA_TYPES_DISPLAYED_CORRECTLY, substrs=["42"])
32-
sanity = 0
33-
import io
34-
35-
logfile = io.open(log, "r", encoding="utf-8")
36-
for line in logfile:
37-
self.assertFalse("-Werror" in line)
38-
if "-DCONFLICT" in line:
39-
sanity += 1
40-
# We see -DCONFLICT twice in the expression context and once in each of
41-
# the two Module contexts.
42-
self.assertEqual(sanity, 2 + 2)
32+
self.filecheck('platform shell cat "%s"' % log, __file__)
33+
# CHECK-NOT: SwiftASTContextForExpressions{{.*}}-Werror
34+
# CHECK: SwiftASTContextForExpressions{{.*}}-DCONFLICT
35+
# CHECK-NOT: SwiftASTContextForExpressions{{.*}}-Werror
36+
# CHECK: SwiftASTContextForExpressions{{.*}}-DCONFLICT
37+
# CHECK-NOT: SwiftASTContextForExpressions{{.*}}-DCONFLICT
38+
# CHECK-NOT: SwiftASTContextForExpressions{{.*}}-Werror

lldb/test/API/lang/swift/clangimporter/config_macros/TestSwiftDedupMacros.py

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -47,27 +47,15 @@ def testSwiftDebugMacros(self):
4747

4848
# Turn on logging.
4949
log = self.getBuildArtifact("types.log")
50-
self.expect("log enable lldb types -f " + log)
50+
self.expect('log enable lldb types -f ""%s"' % log)
5151

5252
self.expect("expression foo", DATA_TYPES_DISPLAYED_CORRECTLY, substrs=["42"])
53-
debug = 0
54-
space = 0
55-
ndebug = 0
56-
space_with_space = 0
57-
import io
58-
59-
logfile = io.open(log, "r", encoding="utf-8")
60-
for line in logfile:
61-
if "-DDEBUG=1" in line:
62-
debug += 1
63-
if "-DSPACE" in line:
64-
space += 1
65-
if " SPACE" in line:
66-
space_with_space += 1
67-
if "-UNDEBUG" in line:
68-
ndebug += 1
69-
# One extra in SwiftASTContextPerModule.
70-
self.assertEqual(debug, 3)
71-
self.assertEqual(space, 3)
72-
self.assertEqual(space_with_space, 0)
73-
self.assertEqual(ndebug, 3)
53+
self.filecheck('platform shell cat "%s"' % log, __file__)
54+
# CHECK: SwiftASTContextForExpressions{{.*}}-DDEBUG=1
55+
# CHECK: SwiftASTContextForExpressions{{.*}}-DSPACE
56+
# CHECK-NOT: {{ SPACE}}
57+
# CHECK: SwiftASTContextForExpressions{{.*}}-UNDEBUG
58+
# CHECK: SwiftASTContextForModule("libDylib{{.*}}-DDEBUG=1
59+
# CHECK: SwiftASTContextForModule("libDylib{{.*}}-DSPACE
60+
# CHECK-NOT: {{ SPACE}}
61+
# CHECK: SwiftASTContextForModule("libDylib{{.*}}-UNDEBUG

0 commit comments

Comments
 (0)