[Lldb-commits] [PATCH] D22863: Improve code of loading plugins that provide cmnds
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Thu Jul 28 03:15:47 PDT 2016
labath added a subscriber: labath.
Comment at: include/lldb/API/SBCommandInterpreter.h:141-142
@@ -140,4 +140,4 @@
- AddCommand (const char* name, lldb::SBCommandPluginInterface *impl, const char* help);
+ AddCommand (const char* name, lldb::SBCommandPluginInterface *impl, const char* help, const char* syntax);
> clayborg wrote:
> > You can't change public API, you can only add to it. Just add another function with syntax and leave the other one alone.
> After reading your review, I suggest to keep the following prototype of this function:
> AddCommand (const char* name, lldb::SBCommandPluginInterface *impl, const char* help, const char* syntax = nullptr);
> This will not break anyone's plugins written with old version of lldb shared library as syntax will be an optional argument.
> This way, we will not need to add another API in this class thereby keeping the public APIs as minimal as possible and complete at the same time.
> Please let me know if this fits our public API development conditions. Else I will add another variant of AddCommand API with syntax argument.
We are trying to maintain binary compatibility. So, while your proposal maintains source-code level compatibilty, it will still break precompiled binaries, as the mangled function name changes.
More information about the lldb-commits