[Lldb-commits] [PATCH] D22863: Improve code of loading plugins that provide cmnds

Abhishek via lldb-commits lldb-commits at lists.llvm.org
Thu Jul 28 03:27:36 PDT 2016


abhishek.aggarwal added inline comments.

================
Comment at: include/lldb/API/SBCommandInterpreter.h:141-142
@@ -140,4 +140,4 @@
     
     lldb::SBCommand
-    AddCommand (const char* name, lldb::SBCommandPluginInterface *impl, const char* help);
+    AddCommand (const char* name, lldb::SBCommandPluginInterface *impl, const char* help, const char* syntax);
 
----------------
labath wrote:
> abhishek.aggarwal wrote:
> > 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.
> 
> </drive-by>
Thanks for the clarification. Any comments in SBCommandInterpreter.cpp file for changing m_backend data member of CommandPluginInterfaceImplementation class to a shared pointer?


https://reviews.llvm.org/D22863





More information about the lldb-commits mailing list