<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Indeed. I made a copy & paste error. Thanks for noticing!<div class="">-- adrian<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Jan 26, 2018, at 1:51 PM, Craig Topper <<a href="mailto:craig.topper@gmail.com" class="">craig.topper@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">This seems to have the wrong Differential Revision tag and closed the wrong review.</div><div class="gmail_extra"><br clear="all" class=""><div class=""><div class="gmail_signature" data-smartmail="gmail_signature">~Craig</div></div>
<br class=""><div class="gmail_quote">On Fri, Jan 26, 2018 at 1:43 PM, Adrian Prantl via llvm-commits <span dir="ltr" class=""><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank" class="">llvm-commits@lists.llvm.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: adrian<br class="">
Date: Fri Jan 26 13:43:14 2018<br class="">
New Revision: 323565<br class="">
<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=323565&view=rev" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project?rev=323565&view=rev</a><br class="">
Log:<br class="">
Update GSOC project list for LLDB.<br class="">
<br class="">
Differential Revision: <a href="https://reviews.llvm.org/D41832" rel="noreferrer" target="_blank" class="">https://reviews.llvm.org/<wbr class="">D41832</a><br class="">
<br class="">
Modified:<br class="">
    www/trunk/OpenProjects.html<br class="">
<br class="">
Modified: www/trunk/OpenProjects.html<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/www/trunk/OpenProjects.html?rev=323565&r1=323564&r2=323565&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project/www/trunk/<wbr class="">OpenProjects.html?rev=323565&<wbr class="">r1=323564&r2=323565&view=diff</a><br class="">
==============================<wbr class="">==============================<wbr class="">==================<br class="">
--- www/trunk/OpenProjects.html (original)<br class="">
+++ www/trunk/OpenProjects.html Fri Jan 26 13:43:14 2018<br class="">
@@ -6,6 +6,20 @@<br class="">
   <li><a href="#gsoc18">Google Summer of Code 2018</a><br class="">
     <ul><br class="">
     <li><br class="">
+    <a href="<a href="http://lldb.llvm.org/" rel="noreferrer" target="_blank" class="">http://lldb.llvm.org/</a>"><<wbr class="">b>LLDB</b></a><ul><br class="">
+      <li><a href="#lldb-reimplement-lldb-<wbr class="">mi">Reimplement lldb-mi on top of the<br class="">
+          LLDB public API</a><br class="">
+      </li><br class="">
+<br class="">
+      <li><a href="#lldb-reimplement-lldb-<wbr class="">cmdline">Reimplement LLDB's<br class="">
+          command-line commands using the public SB API.</a><br class="">
+      </li><br class="">
+      <li><a href="#lldb-batch-testing">Add support for batch-testing to the LLDB<br class="">
+          testsuite.</a><br class="">
+        </li><br class="">
+    </ul><br class="">
+    </li><br class="">
+    <li><br class="">
         <b>Others</b><br class="">
         <ul><br class="">
             <li><a href="#apt">Integrate libc++ and OpenMP in <a href="http://apt.llvm.org/" rel="noreferrer" target="_blank" class="">apt.llvm.org</a></a><br class="">
@@ -59,12 +73,6 @@<br class="">
       </li><br class="">
     </ul><br class="">
     </li><li><br class="">
-    <a href="<a href="http://lldb.llvm.org/" rel="noreferrer" target="_blank" class="">http://lldb.llvm.org/</a>"><<wbr class="">b>LLDB</b></a><ul><br class="">
-      <li><a href="#lldb-reimplement-lldb-<wbr class="">mi">Reimplement lldb-mi on top of the<br class="">
-          LLDB public API</a><br class="">
-      </li><br class="">
-    </ul><br class="">
-    </li><li><br class="">
     <a href="<a href="http://lld.llvm.org/" rel="noreferrer" target="_blank" class="">http://lld.llvm.org/</a>"><<wbr class="">b>LLD</b></a><ul><br class="">
       <li><a href="#lld_layout">Improve Code Layout</a><br class="">
       </li><br class="">
@@ -150,6 +158,102 @@ main <a href="<a href="https://developers.google/" rel="noreferrer" target="_blank" class="">https://developers.<wbr class="">google</a>.<br class="">
<br class="">
<br class="">
 <!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
+<div class="www_subsection"><br class="">
+  <a>LLDB</a><br class="">
+</div><br class="">
+<!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
+<br class="">
+<!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
+<div class="www_subsubsection"><br class="">
+  <a name="lldb-reimplement-lldb-<wbr class="">cmdline">Reimplement LLDB's command-line commands<br class="">
+  using the public SB API.</a><br class="">
+</div><br class="">
+<!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
+<br class="">
+<div class="www_text"><br class="">
+  <p><b>Description of the project: </b> Just as LLVM is a library to<br class="">
+    build compilers, LLDB is a library to build debuggers. LLDB vends<br class="">
+    a stable, public SB API. Due to historic reasons the LLDB command<br class="">
+    line interface is currently implemented on top of LLDB's private<br class="">
+    API and it duplicates a lot of functionality that is already<br class="">
+    implemented in the public API. Rewriting LLDB's command line<br class="">
+    interface on top of the public API would simplify the<br class="">
+    implementation, eliminate duplicate code, and most importantly<br class="">
+    reduce the testing surface.<br class="">
+  </p><br class="">
+  <p><br class="">
+    This work will also provide an opportunity to clean up the SB API<br class="">
+    of commands that have accrued too many overloads over time and<br class="">
+    convert them to make use of option classes to both gather up all<br class="">
+    the variants and also future-proof the APIs.<br class="">
+  </p><br class="">
+  <p><b>Confirmed Mentor:</b>Adrian Prantl and Jim Ingham</p><br class="">
+<br class="">
+  <p><b>Desirable skills:</b><br class="">
+    Intermediate knowledge of C++.<br class="">
+  </p><br class="">
+</div><br class="">
+<br class="">
+<!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
+<div class="www_subsubsection"><br class="">
+  <a name="lldb-reimplement-lldb-<wbr class="">mi">Reimplement lldb-mi on top of the LLDB<br class="">
+    public SB API.</a><br class="">
+</div><br class="">
+<!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
+<br class="">
+<div class="www_text"><br class="">
+  <p><b>Description of the project: </b> <em>lldb-mi</em> implements a<br class="">
+    machine-readable interface that is supported by many IDEs and text<br class="">
+    editors. The current support is incomplete and does not implement<br class="">
+    enough commands to work with most text editors. More importantly,<br class="">
+    it isn't using the right abstraction layer: Instead of executing<br class="">
+    textual commands via <em>handleCommand()</em> and scraping LLDB's<br class="">
+    textual output, it should be using the methods and data structures<br class="">
+    provided by the public SB API.<br class="">
+  </p><br class="">
+  <p><b>Confirmed Mentor:</b> Adrian Prantl</p><br class="">
+<br class="">
+  <p><b>Desirable skills:</b><br class="">
+    Intermediate knowledge of C++.<br class="">
+  </p><br class="">
+</div><br class="">
+<br class="">
+<!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
+<div class="www_subsubsection"><br class="">
+  <a name="lldb-batch-testing">Add support for batch-testing to the LLDB<br class="">
+    testsuite.</a><br class="">
+</div><br class="">
+<!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
+<br class="">
+<div class="www_text"><br class="">
+  <p><b>Description of the project: </b>One of the tensions in the<br class="">
+    testsuite is that spinning up a process and getting it to some<br class="">
+    point is not a cheap operation, so you'd like to do a bunch of<br class="">
+    tests when you get there.  But the current testsuite bails at the<br class="">
+    first failure, so you don't want to do many tests since the<br class="">
+    failure of one fails all the others. On the other hand, there are<br class="">
+    some individual test assertions where the failure of the assertion<br class="">
+    <em>should</em> cause the whole test to fail.  For example, if you<br class="">
+    fail to stop at a breakpoint where you want to check some variable<br class="">
+    values, then the whole test should fail.  But if your test then<br class="">
+    wants to check the value of five independent locals, it should be<br class="">
+    able to do all five, and then report how many of the five variable<br class="">
+    assertions failed. We could do this by adding <em>Start</em><br class="">
+    and <em>End</em> markers for a batch of tests, do all the tests in<br class="">
+    the batch without failing the whole test, and then report the<br class="">
+    error and fail the whole test if appropriate. There might also be<br class="">
+    a nice way to do this in Python using scoped objects for the test<br class="">
+    sections.<br class="">
+  </p><br class="">
+  <p><b>Confirmed Mentor:</b> Jim Ingham</p><br class="">
+<br class="">
+  <p><b>Desirable skills:</b><br class="">
+    Intermediate knowledge of Python.<br class="">
+  </p><br class="">
+</div><br class="">
+<br class="">
+<br class="">
+<!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
 <div class="www_sectiontitle"><br class="">
   <a name="gsoc17">Google Summer of Code 2017</a><br class="">
 </div><br class="">
@@ -567,33 +671,6 @@ accepted and completed projects, please<br class="">
<br class="">
 <!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
 <div class="www_subsection"><br class="">
-  <a>LLDB</a><br class="">
-</div><br class="">
-<!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
-<br class="">
-<!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
-<div class="www_subsubsection"><br class="">
-  <a name="lldb-reimplement-lldb-<wbr class="">mi">Reimplement lldb-mi on top of the LLDB<br class="">
-    public API.</a><br class="">
-</div><br class="">
-<!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
-<br class="">
-<div class="www_text"><br class="">
-  <p><b>Description of the project: </b><br class="">
-    lldb-mi implements a machine-readable interface that is supported by many<br class="">
-    IDEs. The current support is very incomplete and isn't using the right<br class="">
-    abstraction layer. Instead of scraping LLDB's textual output, it should be<br class="">
-    using the data structures provided by the public API.<br class="">
-  </p><br class="">
-  <p><b>Confirmed Mentor:</b> Adrian Prantl, Greg Clayton</p><br class="">
-<br class="">
-  <p><b>Desirable skills:</b><br class="">
-    Intermediate knowledge of C++.<br class="">
-  </p><br class="">
-</div><br class="">
-<br class="">
-<!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
-<div class="www_subsection"><br class="">
   <a>LLD</a><br class="">
 </div><br class="">
 <!-- ******************************<wbr class="">******************************<wbr class="">*********** --><br class="">
<br class="">
<br class="">
______________________________<wbr class="">_________________<br class="">
llvm-commits mailing list<br class="">
<a href="mailto:llvm-commits@lists.llvm.org" class="">llvm-commits@lists.llvm.org</a><br class="">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/llvm-commits</a><br class="">
</blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></div></body></html>