[Lldb-commits] [lldb] r172647 - in /lldb/trunk: include/lldb/Interpreter/ScriptInterpreter.h include/lldb/Interpreter/ScriptInterpreterPython.h scripts/Python/python-wrapper.swig source/Core/FormatClasses.cpp source/Interpreter/ScriptInterpreterPyt...

Malea, Daniel daniel.malea at intel.com
Wed Jan 16 14:26:57 PST 2013


Hi Greg, I think a typo got in with this commit: "const const"  in a few places...

Attached patch should fix it.

Cheers,
Dan


On 2013-01-16, at 2:53 PM, Greg Clayton wrote:

> Author: gclayton
> Date: Wed Jan 16 13:53:55 2013
> New Revision: 172647
>
> URL: http://llvm.org/viewvc/llvm-project?rev=172647&view=rev
> Log:
> Remove std::string input arguments and replace with "const char *".
>
>
> Modified:
>    lldb/trunk/include/lldb/Interpreter/ScriptInterpreter.h
>    lldb/trunk/include/lldb/Interpreter/ScriptInterpreterPython.h
>    lldb/trunk/scripts/Python/python-wrapper.swig
>    lldb/trunk/source/Core/FormatClasses.cpp
>    lldb/trunk/source/Interpreter/ScriptInterpreterPython.cpp
>
> Modified: lldb/trunk/include/lldb/Interpreter/ScriptInterpreter.h
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Interpreter/ScriptInterpreter.h?rev=172647&r1=172646&r2=172647&view=diff
> ==============================================================================
> --- lldb/trunk/include/lldb/Interpreter/ScriptInterpreter.h (original)
> +++ lldb/trunk/include/lldb/Interpreter/ScriptInterpreter.h Wed Jan 16 13:53:55 2013
> @@ -84,11 +84,11 @@
>                                                           void** pyfunct_wrapper,
>                                                           std::string& retval);
>
> -    typedef void* (*SWIGPythonCreateSyntheticProvider) (const std::string python_class_name,
> +    typedef void* (*SWIGPythonCreateSyntheticProvider) (const const char *python_class_name,
>                                                         const char *session_dictionary_name,
>                                                         const lldb::ValueObjectSP& valobj_sp);
>
> -    typedef void* (*SWIGPythonCreateOSPlugin) (const std::string python_class_name,
> +    typedef void* (*SWIGPythonCreateOSPlugin) (const const char *python_class_name,
>                                                const char *session_dictionary_name,
>                                                const lldb::ProcessSP& process_sp);
>
> @@ -107,7 +107,7 @@
>                                                                      std::string& err_msg,
>                                                                      lldb_private::CommandReturnObject& cmd_retobj);
>
> -    typedef bool           (*SWIGPythonCallModuleInit)              (const std::string python_module_name,
> +    typedef bool           (*SWIGPythonCallModuleInit)              (const const char *python_module_name,
>                                                                      const char *session_dictionary_name,
>                                                                      lldb::DebuggerSP& debugger);
>
> @@ -261,14 +261,14 @@
>     }
>
>     virtual lldb::ScriptInterpreterObjectSP
> -    CreateSyntheticScriptedProvider (std::string class_name,
> +    CreateSyntheticScriptedProvider (const char *class_name,
>                                      lldb::ValueObjectSP valobj)
>     {
>         return lldb::ScriptInterpreterObjectSP();
>     }
>
>     virtual lldb::ScriptInterpreterObjectSP
> -    CreateOSPlugin (std::string class_name,
> +    CreateOSPlugin (const char *class_name,
>                     lldb::ProcessSP process_sp)
>     {
>         return lldb::ScriptInterpreterObjectSP();
>
> Modified: lldb/trunk/include/lldb/Interpreter/ScriptInterpreterPython.h
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Interpreter/ScriptInterpreterPython.h?rev=172647&r1=172646&r2=172647&view=diff
> ==============================================================================
> --- lldb/trunk/include/lldb/Interpreter/ScriptInterpreterPython.h (original)
> +++ lldb/trunk/include/lldb/Interpreter/ScriptInterpreterPython.h Wed Jan 16 13:53:55 2013
> @@ -76,11 +76,11 @@
>     GenerateScriptAliasFunction (StringList &input, std::string& output);
>
>     lldb::ScriptInterpreterObjectSP
> -    CreateSyntheticScriptedProvider (std::string class_name,
> +    CreateSyntheticScriptedProvider (const char *class_name,
>                                      lldb::ValueObjectSP valobj);
>
>     virtual lldb::ScriptInterpreterObjectSP
> -    CreateOSPlugin (std::string class_name,
> +    CreateOSPlugin (const char *class_name,
>                     lldb::ProcessSP process_sp);
>
>     virtual lldb::ScriptInterpreterObjectSP
>
> Modified: lldb/trunk/scripts/Python/python-wrapper.swig
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/Python/python-wrapper.swig?rev=172647&r1=172646&r2=172647&view=diff
> ==============================================================================
> --- lldb/trunk/scripts/Python/python-wrapper.swig (original)
> +++ lldb/trunk/scripts/Python/python-wrapper.swig Wed Jan 16 13:53:55 2013
> @@ -267,6 +267,8 @@
> {
>     lldb::SBValue sb_value (valobj_sp);
>
> +    retval.clear();
> +
>     PyObject *ValObj_PyObj = SWIG_NewPointerObj((void *) &sb_value, SWIGTYPE_p_lldb__SBValue, 0);
>
>     if (ValObj_PyObj == NULL)
> @@ -323,14 +325,14 @@
> SWIGEXPORT void*
> LLDBSwigPythonCreateSyntheticProvider
> (
> -    const std::string python_class_name,
> +    const char *python_class_name,
>     const char *session_dictionary_name,
>     const lldb::ValueObjectSP& valobj_sp
> )
> {
>     PyObject* retval = NULL;
>
> -    if (python_class_name.empty() || !session_dictionary_name)
> +    if (python_class_name == NULL || python_class_name[0] == '\0' || !session_dictionary_name)
>         Py_RETURN_NONE;
>
>     // I do not want the SBValue to be deallocated when going out of scope because python
> @@ -343,7 +345,7 @@
>     if (ValObj_PyObj == NULL)
>         Py_RETURN_NONE;
>
> -    const char* python_function_name = python_class_name.c_str();
> +    const char* python_function_name = python_class_name;
>
>     PyObject *session_dict, *pfunc;
>     PyObject *pvalue;
> @@ -778,14 +780,14 @@
> SWIGEXPORT void*
> LLDBSWIGPythonCreateOSPlugin
> (
> -    const std::string python_class_name,
> +    const char *python_class_name,
>     const char *session_dictionary_name,
>     const lldb::ProcessSP& process_sp
> )
> {
>     PyObject* retval = NULL;
>
> -    if (python_class_name.empty() || !session_dictionary_name)
> +    if (python_class_name == NULL || python_class_name[0] == '\0' || !session_dictionary_name)
>         Py_RETURN_NONE;
>
>     // I do not want the SBValue to be deallocated when going out of scope because python
> @@ -797,7 +799,7 @@
>     if (SBProc_PyObj == NULL)
>         Py_RETURN_NONE;
>
> -    const char* python_function_name = python_class_name.c_str();
> +    const char* python_function_name = python_class_name;
>
>     PyObject *session_dict, *pfunc;
>     PyObject *pvalue;
> @@ -875,7 +877,7 @@
> SWIGEXPORT bool
> LLDBSwigPythonCallModuleInit
> (
> -    const std::string python_module_name,
> +    const char *python_module_name,
>     const char *session_dictionary_name,
>     lldb::DebuggerSP& debugger
> )
> @@ -890,7 +892,7 @@
>     if (DebuggerObj_PyObj == NULL)
>         return retval;
>
> -    if (!(python_module_name.length()) || !session_dictionary_name)
> +    if (python_module_name == NULL || python_module_name[0] == '\0' || !session_dictionary_name)
>         return retval;
>
>     PyObject *session_dict, *pfunc;
> @@ -898,7 +900,8 @@
>
>     session_dict = FindSessionDictionary (session_dictionary_name);
>
> -    std::string python_function_name_string = python_module_name + (".__lldb_init_module");
> +    std::string python_function_name_string = python_module_name;
> +    python_function_name_string += ".__lldb_init_module";
>     const char* python_function_name = python_function_name_string.c_str();
>
>     if (session_dict != NULL)
>
> Modified: lldb/trunk/source/Core/FormatClasses.cpp
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/FormatClasses.cpp?rev=172647&r1=172646&r2=172647&view=diff
> ==============================================================================
> --- lldb/trunk/source/Core/FormatClasses.cpp (original)
> +++ lldb/trunk/source/Core/FormatClasses.cpp Wed Jan 16 13:53:55 2013
> @@ -337,7 +337,7 @@
>     m_interpreter = target_sp->GetDebugger().GetCommandInterpreter().GetScriptInterpreter();
>
>     if (m_interpreter != NULL)
> -        m_wrapper_sp = m_interpreter->CreateSyntheticScriptedProvider(m_python_class, backend.GetSP());
> +        m_wrapper_sp = m_interpreter->CreateSyntheticScriptedProvider(m_python_class.c_str(), backend.GetSP());
> }
>
> TypeSyntheticImpl::FrontEnd::~FrontEnd()
>
> Modified: lldb/trunk/source/Interpreter/ScriptInterpreterPython.cpp
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/ScriptInterpreterPython.cpp?rev=172647&r1=172646&r2=172647&view=diff
> ==============================================================================
> --- lldb/trunk/source/Interpreter/ScriptInterpreterPython.cpp (original)
> +++ lldb/trunk/source/Interpreter/ScriptInterpreterPython.cpp Wed Jan 16 13:53:55 2013
> @@ -64,72 +64,65 @@
> // on linkage-time resolution because the SWIG stuff and this file
> // get built at different times
> extern "C" bool
> -LLDBSwigPythonBreakpointCallbackFunction
> -(
> - const char *python_function_name,
> - const char *session_dictionary_name,
> - const lldb::StackFrameSP& sb_frame,
> - const lldb::BreakpointLocationSP& sb_bp_loc
> - );
> +LLDBSwigPythonBreakpointCallbackFunction (const char *python_function_name,
> +                                          const char *session_dictionary_name,
> +                                          const lldb::StackFrameSP& sb_frame,
> +                                          const lldb::BreakpointLocationSP& sb_bp_loc);
>
> extern "C" bool
> -LLDBSwigPythonWatchpointCallbackFunction
> -(
> - const char *python_function_name,
> - const char *session_dictionary_name,
> - const lldb::StackFrameSP& sb_frame,
> - const lldb::WatchpointSP& sb_wp
> - );
> +LLDBSwigPythonWatchpointCallbackFunction (const char *python_function_name,
> +                                          const char *session_dictionary_name,
> +                                          const lldb::StackFrameSP& sb_frame,
> +                                          const lldb::WatchpointSP& sb_wp);
>
> extern "C" bool
> -LLDBSwigPythonCallTypeScript
> -(
> - const char *python_function_name,
> - void *session_dictionary,
> - const lldb::ValueObjectSP& valobj_sp,
> - void** pyfunct_wrapper,
> - std::string& retval
> - );
> +LLDBSwigPythonCallTypeScript (const char *python_function_name,
> +                              void *session_dictionary,
> +                              const lldb::ValueObjectSP& valobj_sp,
> +                              void** pyfunct_wrapper,
> +                              std::string& retval);
>
> extern "C" void*
> -LLDBSwigPythonCreateSyntheticProvider
> -(
> - const std::string python_class_name,
> - const char *session_dictionary_name,
> - const lldb::ValueObjectSP& valobj_sp
> - );
> +LLDBSwigPythonCreateSyntheticProvider (const char *python_class_name,
> +                                       const char *session_dictionary_name,
> +                                       const lldb::ValueObjectSP& valobj_sp);
>
>
> -extern "C" uint32_t       LLDBSwigPython_CalculateNumChildren                   (void *implementor);
> -extern "C" void*          LLDBSwigPython_GetChildAtIndex                        (void *implementor, uint32_t idx);
> -extern "C" int            LLDBSwigPython_GetIndexOfChildWithName                (void *implementor, const char* child_name);
> -extern "C" void*          LLDBSWIGPython_CastPyObjectToSBValue                  (void* data);
> -extern "C" bool           LLDBSwigPython_UpdateSynthProviderInstance            (void* implementor);
> -extern "C" bool           LLDBSwigPython_MightHaveChildrenSynthProviderInstance (void* implementor);
> +extern "C" uint32_t
> +LLDBSwigPython_CalculateNumChildren (void *implementor);
>
> -extern "C" bool           LLDBSwigPythonCallCommand
> -(
> - const char *python_function_name,
> - const char *session_dictionary_name,
> - lldb::DebuggerSP& debugger,
> - const char* args,
> - std::string& err_msg,
> - lldb_private::CommandReturnObject& cmd_retobj
> - );
> +extern "C" void *
> +LLDBSwigPython_GetChildAtIndex (void *implementor, uint32_t idx);
>
> -extern "C" bool           LLDBSwigPythonCallModuleInit
> -(
> - const std::string python_module_name,
> - const char *session_dictionary_name,
> - lldb::DebuggerSP& debugger
> - );
> +extern "C" int
> +LLDBSwigPython_GetIndexOfChildWithName (void *implementor, const char* child_name);
>
> -extern "C" void*        LLDBSWIGPythonCreateOSPlugin
> -(
> - const std::string python_class_name,
> - const char *session_dictionary_name,
> - const lldb::ProcessSP& process_sp
> -);
> +extern "C" void *
> +LLDBSWIGPython_CastPyObjectToSBValue (void* data);
> +
> +extern "C" bool
> +LLDBSwigPython_UpdateSynthProviderInstance (void* implementor);
> +
> +extern "C" bool
> +LLDBSwigPython_MightHaveChildrenSynthProviderInstance (void* implementor);
> +
> +extern "C" bool
> +LLDBSwigPythonCallCommand (const char *python_function_name,
> +                           const char *session_dictionary_name,
> +                           lldb::DebuggerSP& debugger,
> +                           const char* args,
> +                           std::string& err_msg,
> +                           lldb_private::CommandReturnObject& cmd_retobj);
> +
> +extern "C" bool
> +LLDBSwigPythonCallModuleInit (const char *python_module_name,
> +                              const char *session_dictionary_name,
> +                              lldb::DebuggerSP& debugger);
> +
> +extern "C" void*
> +LLDBSWIGPythonCreateOSPlugin (const char *python_class_name,
> +                              const char *session_dictionary_name,
> +                              const lldb::ProcessSP& process_sp);
>
> static int
> _check_and_flush (FILE *stream)
> @@ -1726,10 +1719,9 @@
> }
>
> lldb::ScriptInterpreterObjectSP
> -ScriptInterpreterPython::CreateOSPlugin (std::string class_name,
> -                lldb::ProcessSP process_sp)
> +ScriptInterpreterPython::CreateOSPlugin (const char *class_name, lldb::ProcessSP process_sp)
> {
> -    if (class_name.empty())
> +    if (class_name == NULL || class_name[0] == '\0')
>         return lldb::ScriptInterpreterObjectSP();
>
>     if (!process_sp)
> @@ -1927,10 +1919,10 @@
> }
>
> lldb::ScriptInterpreterObjectSP
> -ScriptInterpreterPython::CreateSyntheticScriptedProvider (std::string class_name,
> +ScriptInterpreterPython::CreateSyntheticScriptedProvider (const char *class_name,
>                                                           lldb::ValueObjectSP valobj)
> {
> -    if (class_name.empty())
> +    if (class_name == NULL || class_name[0] == '\0')
>         return lldb::ScriptInterpreterObjectSP();
>
>     if (!valobj.get())
> @@ -2591,9 +2583,9 @@
>
>         // if we are here, everything worked
>         // call __lldb_init_module(debugger,dict)
> -        if (!g_swig_call_module_init (basename,
> -                                        m_dictionary_name.c_str(),
> -                                        debugger_sp))
> +        if (!g_swig_call_module_init (basename.c_str(),
> +                                      m_dictionary_name.c_str(),
> +                                      debugger_sp))
>         {
>             error.SetErrorString("calling __lldb_init_module failed");
>             return false;
>
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

-------------- next part --------------
A non-text attachment was scrubbed...
Name: const_const_fixup.patch
Type: application/octet-stream
Size: 1835 bytes
Desc: const_const_fixup.patch
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20130116/d8f97ad9/attachment.obj>


More information about the lldb-commits mailing list