[llvm-dev] [cfe-dev] [RFC] Moving (parts of) the Cling REPL in Clang

Vassil Vassilev via llvm-dev llvm-dev at lists.llvm.org
Sat Jul 11 00:19:28 PDT 2020


On 7/11/20 1:50 AM, Chris Lattner wrote:
> On Jul 10, 2020, at 2:58 PM, Richard Smith via cfe-dev 
> <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>> wrote:
>>
>> One other thing I think we should consider: there will be substantial 
>> overlap between the incremental compilation, code generation, REPL, 
>> etc. of cling and that of lldb. For the initial integration of cling 
>> into LLVM, there's probably not much we can do about that, but it 
>> would seem beneficial for both cling and lldb if common parts could 
>> be shared where possible. As an extreme example, if we could fully 
>> unify the projects to the point where a user could switch into an 
>> 'lldb mode' in the middle of a cling session to do step-by-step 
>> debugging of code entered into the REPL, that would seem like an 
>> incredibly useful feature. Perhaps there's some common set of base 
>> functionality that can be factored out of lldb and cling and unified. 
>> It would likely be a good idea to start talking to the lldb folks 
>> about that early, in case it guides your work porting cling to trunk.
>
> This is a really good point.  I’m not sure how much awareness there is 
> on this list, but the Swift REPL is worth looking at if you haven’t 
> seen it.  It is built on/in LLDB, and provides some really nice user 
> experience features.
>
> For example, if you evaluate an expression that crashes, you get a 
> full backtrace and integrated debugger experience.  There are a couple 
> of examples on this page, and more detailed info online:
> https://swift.org/lldb/


   Thanks Chris! The comments <https://reviews.llvm.org/D34444#793311> 
coming from John McCall allude to this that we need some broader 
discussion on how we do things for incremental compilation. I still have 
not forgotten that I need to get back to him with that ;)

   That's one of the challenges I see. Currently upstreaming our patches 
did not have enough context. Now I hope that we can start with something 
minimal (and likely wrong) but we will have a common tool in the context 
of which we can discuss how to make things better. Putting swift-repl 
folks, lldb folks and cling folks in one virtual room may be helpful.


>
> -Chris
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200711/00fd294f/attachment.html>


More information about the llvm-dev mailing list