As I'm implementing declaration macros I noticed that decls in any macro expansions (including those of expression macros) won't type check.
Description
Steps to reproduce
public class NestedDeclInExprMacro: ExpressionMacro {
public static func expansion(
of macro: MacroExpansionExprSyntax, in context: inout MacroExpansionContext
) -> ExprSyntax {
return """
{ () -> Void in
struct Foo { }
return ()
}
"""
}
}
@expression macro nestedDeclInExpr: () -> Void = #externalMacro(module: "MacroDefinition", type: "NestedDeclInExprMacro")
func testNestedDeclInExpr() {
let _: () -> Void = #nestedDeclInExpr
}
This results in the following assertion. That is, when evaluating ParseMembersRequest
the lever is always assuming the source is the original source buffer.
Assertion failed: (Loc.Value.getPointer() >= Buffer->getBuffer().begin() && Loc.Value.getPointer() <= Buffer->getBuffer().end() && "Location is not from the specified buffer"), function getLocOffsetInBuffer, file SourceLoc.cpp, line 204.
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0. Program arguments: ...
1. /Users/rxwei/Development/Swift/swift-source/build/Ninja-ReleaseAssert+swift-DebugAssert/swift-macosx-arm64/lib/swift/host -module-name MacroUser -DTEST_DIAGNOSTICS
2. Swift version 5.8-dev (LLVM 0d61c0fcb536d14, Swift 3374d9871e3c44b)
3. Compiling with effective version 4.1.50
4. While evaluating request TypeCheckSourceFileRequest(source_file "/Users/rxwei/Development/Swift/swift-source/swift/test/Macros/macro_expand.swift")
5. While evaluating request TypeCheckFunctionBodyRequest(MacroUser.(file).testNestedDeclInExpr()@/Users/rxwei/Development/Swift/swift-source/swift/test/Macros/macro_expand.swift:94:6)
6. While type-checking statement at [/Users/rxwei/Development/Swift/swift-source/swift/test/Macros/macro_expand.swift:94:29 - line:96:1] RangeText="{
let _: () -> Void = #nestedDeclInExpr
"
7. While type-checking declaration 0x1448dfff8 (at /Users/rxwei/Development/Swift/swift-source/swift/test/Macros/macro_expand.swift:95:3)
8. While type-checking expression at [/Users/rxwei/Development/Swift/swift-source/swift/test/Macros/macro_expand.swift:95:23 - line:95:24] RangeText="#"
9. While type-checking-target starting at /Users/rxwei/Development/Swift/swift-source/swift/test/Macros/macro_expand.swift:95:23
10. While type checking expanded expression macro expression at [macro:nestedDeclInExpr:/Users/rxwei/Development/Swift/swift-source/swift/test/Macros/macro_expand.swift:95:23-95:40:1:1 - line:4:1] RangeText="{ () -> Void in
struct Foo { }
return ()
"
11. While type-checking expression at [macro:nestedDeclInExpr:/Users/rxwei/Development/Swift/swift-source/swift/test/Macros/macro_expand.swift:95:23-95:40:1:1 - line:4:1] RangeText="{ () -> Void in
struct Foo { }
return ()
"
12. While type-checking-target starting at macro:nestedDeclInExpr:/Users/rxwei/Development/Swift/swift-source/swift/test/Macros/macro_expand.swift:95:23-95:40:1:1
13. While walking into 'Foo' (at macro:nestedDeclInExpr:/Users/rxwei/Development/Swift/swift-source/swift/test/Macros/macro_expand.swift:95:23-95:40:2:3)
14. While evaluating request ParseMembersRequest(MacroUser.(file).testNestedDeclInExpr().explicit closure [email protected]:nestedDeclInExpr:/Users/rxwei/Development/Swift/swift-source/swift/test/Macros/macro_expand.swift:95:23-95:40:2:10)
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 swift-frontend 0x000000010b41a570 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1 swift-frontend 0x000000010b419488 llvm::sys::RunSignalHandlers() + 112
2 swift-frontend 0x000000010b41abfc SignalHandler(int) + 344
3 libsystem_platform.dylib 0x00000001997e41c4 _sigtramp + 56
4 libsystem_pthread.dylib 0x00000001997b5c38 pthread_kill + 288
5 libsystem_c.dylib 0x00000001996c3b28 abort + 180
6 libsystem_c.dylib 0x00000001996c2e84 err + 0
7 swift-frontend 0x0000000107956f08 swift::SourceManager::getLocOffsetInBuffer(swift::SourceLoc, unsigned int) const + 336
8 swift-frontend 0x0000000106ca4834 swift::Lexer::getBufferPtrForSourceLoc(swift::SourceLoc) const + 56
9 swift-frontend 0x0000000106becb00 swift::Lexer::getStateForBeginningOfTokenLoc(swift::SourceLoc) const + 44
10 swift-frontend 0x0000000106c9b4a8 swift::Parser::getParserPosition(swift::SourceLoc, swift::SourceLoc) + 48
11 swift-frontend 0x0000000106c268cc swift::Parser::parseDeclListDelayed(swift::IterableDeclContext*) + 344
12 swift-frontend 0x0000000106cc046c swift::ParseMembersRequest::evaluate(swift::Evaluator&, swift::IterableDeclContext*) const + 556
13 swift-frontend 0x0000000106cc1a5c swift::FingerprintAndMembers swift::SimpleRequest<swift::ParseMembersRequest, swift::FingerprintAndMembers (swift::IterableDeclContext*), (swift::RequestFlags)2>::callDerived<0ul>(swift::Evaluator&, std::__1::integer_sequence<unsigned long, 0ul>) const + 88
14 swift-frontend 0x0000000106cc18f0 swift::SimpleRequest<swift::ParseMembersRequest, swift::FingerprintAndMembers (swift::IterableDeclContext*), (swift::RequestFlags)2>::evaluateRequest(swift::ParseMembersRequest const&, swift::Evaluator&) + 40
15 swift-frontend 0x00000001073a90a8 llvm::Expected<swift::ParseMembersRequest::OutputType> swift::Evaluator::getResultUncached<swift::ParseMembersRequest>(swift::ParseMembersRequest const&) + 288
16 swift-frontend 0x00000001073a8ebc llvm::Expected<swift::ParseMembersRequest::OutputType> swift::Evaluator::getResultCached<swift::ParseMembersRequest, (void*)0>(swift::ParseMembersRequest const&) + 220
17 swift-frontend 0x00000001073a8b80 llvm::Expected<swift::ParseMembersRequest::OutputType> swift::Evaluator::operator()<swift::ParseMembersRequest, (void*)0>(swift::ParseMembersRequest const&) + 68
18 swift-frontend 0x0000000107396ca0 swift::ParseMembersRequest::OutputType swift::evaluateOrDefault<swift::ParseMembersRequest>(swift::Evaluator&, swift::ParseMembersRequest, swift::ParseMembersRequest::OutputType) + 76
19 swift-frontend 0x0000000107396c28 swift::IterableDeclContext::getParsedMembers() const + 116
20 swift-frontend 0x0000000107396a4c swift::IterableDeclContext::loadAllMembers() const + 84
21 swift-frontend 0x00000001073969d4 swift::IterableDeclContext::getMembers() const + 28
22 swift-frontend 0x0000000106f45f90 (anonymous namespace)::Traversal::visitNominalTypeDecl(swift::NominalTypeDecl*) + 392
23 swift-frontend 0x0000000106f44820 swift::ASTVisitor<(anonymous namespace)::Traversal, swift::Expr*, swift::Stmt*, bool, swift::Pattern*, bool, void>::visitStructDecl(swift::StructDecl*) + 32
24 swift-frontend 0x0000000106f44004 swift::ASTVisitor<(anonymous namespace)::Traversal, swift::Expr*, swift::Stmt*, bool, swift::Pattern*, bool, void>::visit(swift::Decl*) + 240
25 swift-frontend 0x0000000106f43eb4 (anonymous namespace)::Traversal::visit(swift::Decl*) + 60
26 swift-frontend 0x0000000106f43e68 (anonymous namespace)::Traversal::doIt(swift::Decl*)::'lambda'()::operator()() const + 36
27 swift-frontend 0x0000000106f43e34 bool llvm::function_ref<bool ()>::callback_fn<(anonymous namespace)::Traversal::doIt(swift::Decl*)::'lambda'()>(long) + 24
28 swift-frontend 0x00000001078b8420 llvm::function_ref<bool ()>::operator()() const + 32
29 swift-frontend 0x0000000106f3e07c (anonymous namespace)::Traversal::traverse(swift::ASTWalker::PreWalkAction, llvm::function_ref<bool ()>, llvm::function_ref<swift::ASTWalker::PostWalkAction ()>) + 156
30 swift-frontend 0x0000000106f38c68 (anonymous namespace)::Traversal::doIt(swift::Decl*) + 208
31 swift-frontend 0x0000000106f3fe84 (anonymous namespace)::Traversal::visitBraceStmt(swift::BraceStmt*) + 356
32 swift-frontend 0x0000000106f3fa84 swift::ASTVisitor<(anonymous namespace)::Traversal, swift::Expr*, swift::Stmt*, bool, swift::Pattern*, bool, void>::visit(swift::Stmt*) + 96
33 swift-frontend 0x0000000106f3f9c8 (anonymous namespace)::Traversal::visit(swift::Stmt*) + 60
34 swift-frontend 0x0000000106f3f980 (anonymous namespace)::Traversal::doIt(swift::Stmt*)::'lambda'(swift::Stmt*)::operator()(swift::Stmt*) const + 36
35 swift-frontend 0x0000000106f3f950 swift::Stmt* llvm::function_ref<swift::Stmt* (swift::Stmt*)>::callback_fn<(anonymous namespace)::Traversal::doIt(swift::Stmt*)::'lambda'(swift::Stmt*)>(long, swift::Stmt*) + 32
36 swift-frontend 0x0000000106f3f840 llvm::function_ref<swift::Stmt* (swift::Stmt*)>::operator()(swift::Stmt*) const + 40
37 swift-frontend 0x0000000106f3f664 swift::Stmt* (anonymous namespace)::Traversal::traverse<swift::Stmt>(swift::ASTWalker::PreWalkResult<swift::Stmt*>, llvm::function_ref<swift::Stmt* (swift::Stmt*)>, llvm::function_ref<swift::ASTWalker::PostWalkResult<swift::Stmt*> (swift::Stmt*)>) + 360
38 swift-frontend 0x0000000106f38678 (anonymous namespace)::Traversal::doIt(swift::Stmt*) + 144
39 swift-frontend 0x0000000106f3b16c (anonymous namespace)::Traversal::visitClosureExpr(swift::ClosureExpr*) + 248
40 swift-frontend 0x0000000106f397c8 swift::ASTVisitor<(anonymous namespace)::Traversal, swift::Expr*, swift::Stmt*, bool, swift::Pattern*, bool, void>::visit(swift::Expr*) + 976
41 swift-frontend 0x0000000106f3939c (anonymous namespace)::Traversal::visit(swift::Expr*) + 60
42 swift-frontend 0x0000000106f39354 (anonymous namespace)::Traversal::doIt(swift::Expr*)::'lambda'(swift::Expr*)::operator()(swift::Expr*) const + 36
43 swift-frontend 0x0000000106f39324 swift::Expr* llvm::function_ref<swift::Expr* (swift::Expr*)>::callback_fn<(anonymous namespace)::Traversal::doIt(swift::Expr*)::'lambda'(swift::Expr*)>(long, swift::Expr*) + 32
44 swift-frontend 0x00000001074828b0 llvm::function_ref<swift::Expr* (swift::Expr*)>::operator()(swift::Expr*) const + 40
45 swift-frontend 0x0000000106f3910c swift::Expr* (anonymous namespace)::Traversal::traverse<swift::Expr>(swift::ASTWalker::PreWalkResult<swift::Expr*>, llvm::function_ref<swift::Expr* (swift::Expr*)>, llvm::function_ref<swift::ASTWalker::PostWalkResult<swift::Expr*> (swift::Expr*)>) + 360
46 swift-frontend 0x0000000106f38598 (anonymous namespace)::Traversal::doIt(swift::Expr*) + 144
47 swift-frontend 0x0000000106f384c8 swift::Expr::walk(swift::ASTWalker&) + 56
48 swift-frontend 0x000000010619e3cc (anonymous namespace)::ConstraintGenerator::visitClosureExpr(swift::ClosureExpr*) + 192
49 swift-frontend 0x000000010619da94 (anonymous namespace)::ConstraintWalker::walkToExprPre(swift::Expr*) + 612
50 swift-frontend 0x0000000106f38540 (anonymous namespace)::Traversal::doIt(swift::Expr*) + 56
51 swift-frontend 0x0000000106f384c8 swift::Expr::walk(swift::ASTWalker&) + 56
52 swift-frontend 0x000000010619a084 generateConstraintsFor(swift::constraints::ConstraintSystem&, swift::Expr*, swift::DeclContext*) + 88
53 swift-frontend 0x0000000106198dfc swift::constraints::ConstraintSystem::generateConstraints(swift::Expr*, swift::DeclContext*, bool) + 92
54 swift-frontend 0x0000000106198614 swift::constraints::ConstraintSystem::generateConstraints(swift::constraints::SolutionApplicationTarget&, swift::FreeTypeVariableBinding) + 472
55 swift-frontend 0x0000000106243c90 swift::constraints::ConstraintSystem::solveImpl(swift::constraints::SolutionApplicationTarget&, swift::FreeTypeVariableBinding) + 396
56 swift-frontend 0x0000000106243474 swift::constraints::ConstraintSystem::solve(swift::constraints::SolutionApplicationTarget&, swift::FreeTypeVariableBinding) + 224
57 swift-frontend 0x00000001065c98fc swift::TypeChecker::typeCheckTarget(swift::constraints::SolutionApplicationTarget&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 784
58 swift-frontend 0x00000001065c95d0 swift::TypeChecker::typeCheckExpression(swift::constraints::SolutionApplicationTarget&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 224
59 swift-frontend 0x00000001065c9410 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::constraints::ContextualTypeInfo, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 188
60 swift-frontend 0x00000001066c2240 swift::expandMacroExpr(swift::DeclContext*, swift::Expr*, swift::ConcreteDeclRef, swift::Type) + 2712
61 swift-frontend 0x0000000106130e48 (anonymous namespace)::ExprRewriter::visitMacroExpansionExpr(swift::MacroExpansionExpr*) + 388
62 swift-frontend 0x0000000106128dc4 swift::ASTVisitor<(anonymous namespace)::ExprRewriter, swift::Expr*, void, void, void, void, void>::visit(swift::Expr*) + 2488
63 swift-frontend 0x000000010612839c (anonymous namespace)::ExprRewriter::walkToExprPost(swift::Expr*) + 36
64 swift-frontend 0x0000000106121608 (anonymous namespace)::ExprWalker::walkToExprPost(swift::Expr*) + 40
65 swift-frontend 0x0000000106f3f4f0 (anonymous namespace)::Traversal::doIt(swift::Expr*)::'lambda0'(swift::Expr*)::operator()(swift::Expr*) const + 48
66 swift-frontend 0x0000000106f3f4b4 swift::ASTWalker::PostWalkResult<swift::Expr*> llvm::function_ref<swift::ASTWalker::PostWalkResult<swift::Expr*> (swift::Expr*)>::callback_fn<(anonymous namespace)::Traversal::doIt(swift::Expr*)::'lambda0'(swift::Expr*)>(long, swift::Expr*) + 32
67 swift-frontend 0x0000000106f392c4 llvm::function_ref<swift::ASTWalker::PostWalkResult<swift::Expr*> (swift::Expr*)>::operator()(swift::Expr*) const + 40
68 swift-frontend 0x0000000106f3913c swift::Expr* (anonymous namespace)::Traversal::traverse<swift::Expr>(swift::ASTWalker::PreWalkResult<swift::Expr*>, llvm::function_ref<swift::Expr* (swift::Expr*)>, llvm::function_ref<swift::ASTWalker::PostWalkResult<swift::Expr*> (swift::Expr*)>) + 408
69 swift-frontend 0x0000000106f38598 (anonymous namespace)::Traversal::doIt(swift::Expr*) + 144
70 swift-frontend 0x0000000106f384c8 swift::Expr::walk(swift::ASTWalker&) + 56
71 swift-frontend 0x00000001061173f8 (anonymous namespace)::ExprWalker::rewriteTarget(swift::constraints::SolutionApplicationTarget) + 172
72 swift-frontend 0x00000001061170f4 swift::constraints::ConstraintSystem::applySolution(swift::constraints::Solution&, swift::constraints::SolutionApplicationTarget) + 680
73 swift-frontend 0x00000001065c9988 swift::TypeChecker::typeCheckTarget(swift::constraints::SolutionApplicationTarget&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 924
74 swift-frontend 0x00000001065c95d0 swift::TypeChecker::typeCheckExpression(swift::constraints::SolutionApplicationTarget&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 224
75 swift-frontend 0x00000001065cae44 swift::TypeChecker::typeCheckBinding(swift::Pattern*&, swift::Expr*&, swift::DeclContext*, swift::Type, swift::PatternBindingDecl*, unsigned int, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 384
76 swift-frontend 0x00000001065cb294 swift::TypeChecker::typeCheckPatternBinding(swift::PatternBindingDecl*, unsigned int, swift::Type, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 404
77 swift-frontend 0x0000000106665a70 (anonymous namespace)::DeclChecker::visitPatternBindingDecl(swift::PatternBindingDecl*) + 904
78 swift-frontend 0x0000000106660208 swift::ASTVisitor<(anonymous namespace)::DeclChecker, void, void, void, void, void, void>::visit(swift::Decl*) + 1408
79 swift-frontend 0x00000001066566ac (anonymous namespace)::DeclChecker::visit(swift::Decl*) + 220
80 swift-frontend 0x0000000106656574 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 92
81 swift-frontend 0x000000010689493c (anonymous namespace)::StmtChecker::typeCheckASTNode(swift::ASTNode&) + 836
82 swift-frontend 0x000000010689ae1c (anonymous namespace)::StmtChecker::visitBraceStmt(swift::BraceStmt*) + 464
83 swift-frontend 0x000000010689aa68 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) + 96
84 swift-frontend 0x0000000106896724 bool (anonymous namespace)::StmtChecker::typeCheckStmt<swift::BraceStmt>(swift::BraceStmt*&) + 156
85 swift-frontend 0x000000010689600c (anonymous namespace)::StmtChecker::typeCheckBody(swift::BraceStmt*&) + 36
86 swift-frontend 0x0000000106895af8 swift::TypeCheckFunctionBodyRequest::evaluate(swift::Evaluator&, swift::AbstractFunctionDecl*) const + 1592
87 swift-frontend 0x0000000106865838 swift::BraceStmt* swift::SimpleRequest<swift::TypeCheckFunctionBodyRequest, swift::BraceStmt* (swift::AbstractFunctionDecl*), (swift::RequestFlags)12>::callDerived<0ul>(swift::Evaluator&, std::__1::integer_sequence<unsigned long, 0ul>) const + 76
88 swift-frontend 0x0000000106860da8 swift::SimpleRequest<swift::TypeCheckFunctionBodyRequest, swift::BraceStmt* (swift::AbstractFunctionDecl*), (swift::RequestFlags)12>::evaluateRequest(swift::TypeCheckFunctionBodyRequest const&, swift::Evaluator&) + 32
89 swift-frontend 0x000000010731bca0 llvm::Expected<swift::TypeCheckFunctionBodyRequest::OutputType> swift::Evaluator::getResultUncached<swift::TypeCheckFunctionBodyRequest>(swift::TypeCheckFunctionBodyRequest const&) + 280
90 swift-frontend 0x000000010731bae8 llvm::Expected<swift::TypeCheckFunctionBodyRequest::OutputType> swift::Evaluator::getResultCached<swift::TypeCheckFunctionBodyRequest, (void*)0>(swift::TypeCheckFunctionBodyRequest const&) + 188
91 swift-frontend 0x000000010731b834 llvm::Expected<swift::TypeCheckFunctionBodyRequest::OutputType> swift::Evaluator::operator()<swift::TypeCheckFunctionBodyRequest, (void*)0>(swift::TypeCheckFunctionBodyRequest const&) + 68
92 swift-frontend 0x0000000107041d18 swift::TypeCheckFunctionBodyRequest::OutputType swift::evaluateOrDefault<swift::TypeCheckFunctionBodyRequest>(swift::Evaluator&, swift::TypeCheckFunctionBodyRequest, swift::TypeCheckFunctionBodyRequest::OutputType) + 64
93 swift-frontend 0x0000000107041ccc swift::AbstractFunctionDecl::getTypecheckedBody() const + 84
94 swift-frontend 0x000000010691670c typeCheckDelayedFunctions(swift::SourceFile&) + 160
95 swift-frontend 0x00000001069164e8 swift::TypeCheckSourceFileRequest::evaluate(swift::Evaluator&, swift::SourceFile*) const + 568
96 swift-frontend 0x00000001068663e4 std::__1::tuple<> swift::SimpleRequest<swift::TypeCheckSourceFileRequest, std::__1::tuple<> (swift::SourceFile*), (swift::RequestFlags)12>::callDerived<0ul>(swift::Evaluator&, std::__1::integer_sequence<unsigned long, 0ul>) const + 76
97 swift-frontend 0x0000000106861200 swift::SimpleRequest<swift::TypeCheckSourceFileRequest, std::__1::tuple<> (swift::SourceFile*), (swift::RequestFlags)12>::evaluateRequest(swift::TypeCheckSourceFileRequest const&, swift::Evaluator&) + 32
98 swift-frontend 0x000000010691aa40 llvm::Expected<swift::TypeCheckSourceFileRequest::OutputType> swift::Evaluator::getResultUncached<swift::TypeCheckSourceFileRequest>(swift::TypeCheckSourceFileRequest const&) + 316
99 swift-frontend 0x000000010691a86c llvm::Expected<swift::TypeCheckSourceFileRequest::OutputType> swift::Evaluator::getResultCached<swift::TypeCheckSourceFileRequest, (void*)0>(swift::TypeCheckSourceFileRequest const&) + 184
100 swift-frontend 0x000000010691a714 llvm::Expected<swift::TypeCheckSourceFileRequest::OutputType> swift::Evaluator::operator()<swift::TypeCheckSourceFileRequest, (void*)0>(swift::TypeCheckSourceFileRequest const&) + 68
101 swift-frontend 0x00000001069161bc swift::TypeCheckSourceFileRequest::OutputType swift::evaluateOrDefault<swift::TypeCheckSourceFileRequest>(swift::Evaluator&, swift::TypeCheckSourceFileRequest, swift::TypeCheckSourceFileRequest::OutputType) + 60
102 swift-frontend 0x0000000106916174 swift::performTypeChecking(swift::SourceFile&) + 68
103 swift-frontend 0x0000000104765cd0 swift::CompilerInstance::performSema()::$_7::operator()(swift::SourceFile&) const + 28
104 swift-frontend 0x0000000104765ca4 bool llvm::function_ref<bool (swift::SourceFile&)>::callback_fn<swift::CompilerInstance::performSema()::$_7>(long, swift::SourceFile&) + 32
105 swift-frontend 0x0000000104749c2c llvm::function_ref<bool (swift::SourceFile&)>::operator()(swift::SourceFile&) const + 40
106 swift-frontend 0x000000010474995c swift::CompilerInstance::forEachFileToTypeCheck(llvm::function_ref<bool (swift::SourceFile&)>) + 184
107 swift-frontend 0x0000000104749888 swift::CompilerInstance::performSema() + 116
108 swift-frontend 0x00000001044dae1c withSemanticAnalysis(swift::CompilerInstance&, swift::FrontendObserver*, llvm::function_ref<bool (swift::CompilerInstance&)>, bool) + 160
109 swift-frontend 0x00000001044d6018 performAction(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 960
110 swift-frontend 0x00000001044b4d14 performCompile(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 220
111 swift-frontend 0x00000001044b3db8 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 2088
112 swift-frontend 0x0000000104426990 run_driver(llvm::StringRef, llvm::ArrayRef<char const*>, llvm::ArrayRef<char const*>) + 748
113 swift-frontend 0x0000000104425c60 swift::mainEntry(int, char const**) + 1148
114 swift-frontend 0x00000001043fd310 main + 36
115 dyld 0x0000000199457f34 start + 2248