Hi, I got the following build error when build lldb trunk on Linux: /home/yao/Source/llvm/llvm/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp: In static member function ‘static void ProcessLinux::Initialize()’: /home/yao/Source/llvm/llvm/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp:59:66: error: no matching function for call to ‘ProcessPOSIXLog::RegisterPluginName(lldb_private::ConstString)’ /home/yao/Source/llvm/llvm/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp:59:66: note: candidate is: /home/yao/Source/llvm/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.h:47:5: note: static void ProcessPOSIXLog::RegisterPluginName(const char*) /home/yao/Source/llvm/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.h:47:5: note: no known conversion for argument 1 from ‘lldb_private::ConstString’ to ‘const char*’ make[2]: *** [tools/lldb/source/Plugins/Process/Linux/CMakeFiles/lldbPluginProcessLinux.dir/ProcessLinux.cpp.o] Error 1 make[1]: *** [tools/lldb/source/Plugins/Process/Linux/CMakeFiles/lldbPluginProcessLinux.dir/all] Error 2
After this commit <http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20130506/008401.html>, we start to use ConstString for plugin-name, so I change the type of field 'm_pluginname' of class 'ProcessPOSIXLog' from 'const char *' to 'ConstString'. The patch below fixes this error. However, this patch doesn't unbreak the lldb build on linux, because of another error. I'll describe it in the next mail. diff --git a/source/Plugins/Process/POSIX/ProcessPOSIXLog.cpp b/source/Plugins/Process/POSIX/ProcessPOSIXLog.cpp index d673ab4..38b2062 100644 --- a/source/Plugins/Process/POSIX/ProcessPOSIXLog.cpp +++ b/source/Plugins/Process/POSIX/ProcessPOSIXLog.cpp @@ -172,7 +172,7 @@ ProcessPOSIXLog::ListLogCategories (Stream *strm) " thread - log thread events and activities\n" " step - log step related activities\n" " verbose - enable verbose logging\n" - " watch - log watchpoint related activities\n", ProcessPOSIXLog::m_pluginname); + " watch - log watchpoint related activities\n", ProcessPOSIXLog::m_pluginname.GetCString()); } @@ -190,4 +190,4 @@ ProcessPOSIXLog::LogIf (uint32_t mask, const char *format, ...) } int ProcessPOSIXLog::m_nestinglevel; -const char *ProcessPOSIXLog::m_pluginname = ""; +ConstString ProcessPOSIXLog::m_pluginname(""); diff --git a/source/Plugins/Process/POSIX/ProcessPOSIXLog.h b/source/Plugins/Process/POSIX/ProcessPOSIXLog.h index 7707a12..f0580b0 100644 --- a/source/Plugins/Process/POSIX/ProcessPOSIXLog.h +++ b/source/Plugins/Process/POSIX/ProcessPOSIXLog.h @@ -16,6 +16,7 @@ // Project includes #include "lldb/Core/Log.h" +#include "lldb/Core/ConstString.h" #define POSIX_LOG_VERBOSE (1u << 0) #define POSIX_LOG_PROCESS (1u << 1) @@ -40,11 +41,11 @@ class ProcessPOSIXLog { static int m_nestinglevel; - static const char *m_pluginname; + static lldb_private::ConstString m_pluginname; public: static void - RegisterPluginName(const char *pluginName) + RegisterPluginName(const lldb_private::ConstString &pluginName) { m_pluginname = pluginName; } _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
