<div dir="ltr"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Hi all,</span><br class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Earlier today, you may have heard that Swift went open source over at </span><a href="http://swift.org/" class="" style="font-family:Helvetica;font-size:12px">swift.org</a><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">. I just wanted to take a moment to mention the Swift debugger and REPL and how they relate to LLDB.</span><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br class=""><div class=""><div class="">Swift’s Debugger and REPL are built on LLDB’s source-level plug-in architecture. As such, the Swift Debugger repository at <a href="http://github.com/apple/swift-lldb" class="">github.com/apple/swift-lldb</a> naturally contains the LLDB source from <a href="http://llvm.org/" class="">llvm.org</a>’s LLDB repository, plus additions for Swift language support. We merge regularly and make every attempt to minimize our differences with <a href="http://llvm.org/" class="">llvm.org</a>’s LLDB. For more information on how we’re handling this, have a look at <a href="http://swift.org/contributing/#llvm-and-swift" class="">swift.org/contributing/#llvm-and-swift</a>.</div><div class=""><br class=""></div><div class="">As we’ve worked hard to make it straightforward to develop additive-only language support in LLDB, the Swift support can readily be found by finding the new files in the swift-lldb repository vs. those found at <a href="http://llvm.org/svn/llvm-project/lldb/trunk/" class="">llvm.org/svn/llvm-project/lldb/trunk</a>. For the rest of the LLDB files in common, we do still have a small number of diffs in <a href="http://github.com/apple/swift-lldb" class="">github.com/apple/swift-lldb</a> vs. <a href="http://llvm.org/" class="">llvm.org</a> TOT. We will work through upstreaming these quickly. I’ll touch on some of those differences briefly here:</div><div class=""><br class=""></div><div class="">* Several minor places where full language abstraction hasn’t yet occurred, where we’re explicitly checking for Swift-related details. Abstracting out those remaining places and providing the hooks in <a href="http://llvm.org/" class="">llvm.org</a> LLDB will benefit all languages.</div><div class=""><br class=""></div><div class="">* Printed-form version string handling. The ‘lldb -v’ and ‘(lldb) version’ commands create a different version string in both Xcode and cmake-based Swift LLDB. We will work to incorporate this into <a href="http://llvm.org/" class="">llvm.org</a> LLDB once the language/component version support info is properly abstracted out. </div><div class=""><br class=""></div><div class="">* Test infrastructure. There are a few places where Swift language support (e.g. swift compiler flags, runtime support directories, etc.) are added in order to enable building Swift-based test inferiors. We may be able to rearrange things to make those language-specific additions more readily pluggable in the core LLDB test runner.</div><div class=""><br class=""></div><div class="">We look forward to upstreaming the differences in common files in the coming days and weeks.</div><div class=""><br class=""></div><div class="">Please feel free to contact me if you have any questions.</div><div class=""><br class=""></div><div class="">Thanks!</div><div class=""><br class=""></div><div class="">-Todd</div></div></div>
</div>