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!
_______________________________________________
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to