> On Jun 8, 2018, at 12:54 PM, Leonard Mosescu via lldb-dev > <lldb-dev@lists.llvm.org> wrote: > > 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 > LoadCore(). > > Any guidance on this? Thanks! >
Just add an extra overloaded version of LoadCore. We don't want people's code to not link and since Apple uses a LLDBRPC.framework that sub-launches a lldb-rpc-server which can connect to older LLDB.framework binaries, we can't remove functions. Greg > > _______________________________________________ > lldb-dev mailing list > lldb-dev@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
_______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev