[lldb-dev] Making changes to the SB API

Leonard Mosescu via lldb-dev lldb-dev at lists.llvm.org
Fri Jun 8 12:54:05 PDT 2018

What is the governing philosophy around making changes to the SB API? The "SB
API Coding Rules <http://lldb.llvm.org/SB-api-coding-rules.html>"
page establishes the practices on how to avoid introducing accidental
incompatibility, but what
about the cases where there's a case for intentionally making changes?

For example, I'd like to make a small change to SBTarget to allow surfacing
errors during LoadCore():

SBProcess SBTarget::LoadCore(const char *core_file)

And add an explicit out error parameter (in line with SBTarget::Attach(),
Launch(), ...):

SBProcess SBTarget::LoadCore(const char *core_file*, SBError **&**error*)

If the rule is to strictly avoid any kind of changes then I'd have to
resort to
a COM-like versioning and introduce a new SBTarget::LoadCore2 (or
LoadCoreEx, ... pick
your poison, I'm not set on any name) while also keeping the existing

Any guidance on this? Thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20180608/dd773cfb/attachment.html>

More information about the lldb-dev mailing list