[Lldb-commits] [PATCH] D23977: Support of lldb on Kfreebsd

2016-11-12 Thread Sylvestre Ledru via lldb-commits
sylvestre.ledru updated this revision to Diff 77714.

https://reviews.llvm.org/D23977

Files:
  cmake/LLDBDependencies.cmake
  cmake/modules/LLDBConfig.cmake
  scripts/Python/modules/CMakeLists.txt
  scripts/utilsOsType.py


Index: scripts/utilsOsType.py
===
--- scripts/utilsOsType.py
+++ scripts/utilsOsType.py
@@ -36,6 +36,7 @@
 Linux = 3
 NetBSD = 4
 Windows = 5
+kFreeBSD = 6
 else:
 class EnumOsType(object):
 values = ["Unknown",
@@ -43,7 +44,8 @@
   "FreeBSD",
   "Linux",
   "NetBSD",
-  "Windows"]
+  "Windows",
+  "kFreeBSD"]
 
 class __metaclass__(type):
 #++
@@ -91,5 +93,7 @@
 eOSType = EnumOsType.NetBSD
 elif strOS == "win32":
 eOSType = EnumOsType.Windows
+elif strOS.startswith("gnukfreebsd"):
+eOSType = EnumOsType.kFreeBSD
 
 return eOSType
Index: scripts/Python/modules/CMakeLists.txt
===
--- scripts/Python/modules/CMakeLists.txt
+++ scripts/Python/modules/CMakeLists.txt
@@ -5,7 +5,7 @@
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-macro-redefined")
 endif ()
 
-# build the Python readline suppression module only on Linux
-if (CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT __ANDROID_NDK__)
+# build the Python readline suppression module only on Linux or GNU systems
+if ((CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "GNU" OR 
CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD") AND NOT __ANDROID_NDK__)
add_subdirectory(readline)
 endif()
Index: cmake/modules/LLDBConfig.cmake
===
--- cmake/modules/LLDBConfig.cmake
+++ cmake/modules/LLDBConfig.cmake
@@ -415,3 +415,5 @@
 if(LLDB_USE_BUILTIN_DEMANGLER)
 add_definitions(-DLLDB_USE_BUILTIN_DEMANGLER)
 endif()
+
+find_package(Backtrace)
Index: cmake/LLDBDependencies.cmake
===
--- cmake/LLDBDependencies.cmake
+++ cmake/LLDBDependencies.cmake
@@ -165,10 +165,7 @@
 list(APPEND LLDB_SYSTEM_LIBS atomic)
 endif()
 
-# On FreeBSD/NetBSD backtrace() is provided by libexecinfo, not libc.
-if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "NetBSD")
-  list(APPEND LLDB_SYSTEM_LIBS execinfo)
-endif()
+list(APPEND LLDB_SYSTEM_LIBS ${Backtrace_LIBRARY})
 
 if (NOT LLDB_DISABLE_PYTHON AND NOT LLVM_BUILD_STATIC)
   list(APPEND LLDB_SYSTEM_LIBS ${PYTHON_LIBRARIES})


Index: scripts/utilsOsType.py
===
--- scripts/utilsOsType.py
+++ scripts/utilsOsType.py
@@ -36,6 +36,7 @@
 Linux = 3
 NetBSD = 4
 Windows = 5
+kFreeBSD = 6
 else:
 class EnumOsType(object):
 values = ["Unknown",
@@ -43,7 +44,8 @@
   "FreeBSD",
   "Linux",
   "NetBSD",
-  "Windows"]
+  "Windows",
+  "kFreeBSD"]
 
 class __metaclass__(type):
 #++
@@ -91,5 +93,7 @@
 eOSType = EnumOsType.NetBSD
 elif strOS == "win32":
 eOSType = EnumOsType.Windows
+elif strOS.startswith("gnukfreebsd"):
+eOSType = EnumOsType.kFreeBSD
 
 return eOSType
Index: scripts/Python/modules/CMakeLists.txt
===
--- scripts/Python/modules/CMakeLists.txt
+++ scripts/Python/modules/CMakeLists.txt
@@ -5,7 +5,7 @@
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-macro-redefined")
 endif ()
 
-# build the Python readline suppression module only on Linux
-if (CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT __ANDROID_NDK__)
+# build the Python readline suppression module only on Linux or GNU systems
+if ((CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "GNU" OR CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD") AND NOT __ANDROID_NDK__)
add_subdirectory(readline)
 endif()
Index: cmake/modules/LLDBConfig.cmake
===
--- cmake/modules/LLDBConfig.cmake
+++ cmake/modules/LLDBConfig.cmake
@@ -415,3 +415,5 @@
 if(LLDB_USE_BUILTIN_DEMANGLER)
 add_definitions(-DLLDB_USE_BUILTIN_DEMANGLER)
 endif()
+
+find_package(Backtrace)
Index: cmake/LLDBDependencies.cmake
===
--- cmake/LLDBDependencies.cmake
+++ cmake/LLDBDependencies.cmake
@@ -165,10 +165,7 @@
 list(APPEND LLDB_SYSTEM_LIBS atomic)
 endif()
 
-# On FreeBSD/NetBSD backtrace() is provided by libexecinfo, not libc.
-if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "NetBSD")
-  list(APPEND LLDB_SYSTEM_LIBS execinfo)
-endif()
+list(APPEND

[Lldb-commits] [PATCH] D24863: Keep dependencies separated between static and dynamic libraries. Fix for bug #28127.

2016-11-12 Thread Sylvestre Ledru via lldb-commits
sylvestre.ledru added a comment.

Can we land this patch now? Thanks


Repository:
  rL LLVM

https://reviews.llvm.org/D24863



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D24863: Keep dependencies separated between static and dynamic libraries. Fix for bug #28127.

2016-11-12 Thread Pavel Labath via lldb-commits
labath added a comment.

Several people have expressed objections to this patch, so I guess the answer 
is no. :)

However, I have made some changes to lldb's build system 
(https://reviews.llvm.org/D25680) which should fix the original issue you were 
experiencing (Sorry, I forgot to loop you in on that). Can you check if you are 
still experiencing this problem with the latest trunk ?


Repository:
  rL LLVM

https://reviews.llvm.org/D24863



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r286722 - Disable sanitizer tests on Windows.

2016-11-12 Thread Zachary Turner via lldb-commits
Author: zturner
Date: Sat Nov 12 10:56:13 2016
New Revision: 286722

URL: http://llvm.org/viewvc/llvm-project?rev=286722&view=rev
Log:
Disable sanitizer tests on Windows.

Modified:
lldb/trunk/packages/Python/lldbsuite/test/decorators.py

Modified: lldb/trunk/packages/Python/lldbsuite/test/decorators.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/decorators.py?rev=286722&r1=286721&r2=286722&view=diff
==
--- lldb/trunk/packages/Python/lldbsuite/test/decorators.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/decorators.py Sat Nov 12 10:56:13 
2016
@@ -664,6 +664,8 @@ def skipUnlessThreadSanitizer(func):
 compiler = os.path.basename(compiler_path)
 if not compiler.startswith("clang"):
 return "Test requires clang as compiler"
+if lldbplatformutil.getPlatform() == 'windows':
+return "TSAN tests not compatible with 'windows'"
 # rdar://28659145 - TSAN tests don't look like they're supported on 
i386
 if self.getArchitecture() == 'i386' and platform.system() == 'Darwin':
 return "TSAN tests not compatible with i386 targets"
@@ -684,6 +686,8 @@ def skipUnlessAddressSanitizer(func):
 compiler_path = self.getCompiler()
 compiler = os.path.basename(compiler_path)
 f = tempfile.NamedTemporaryFile()
+if lldbplatformutil.getPlatform() == 'windows':
+return "ASAN tests not compatible with 'windows'"
 cmd = "echo 'int main() {}' | %s -x c -o %s -" % (compiler_path, 
f.name)
 if os.popen(cmd).close() is not None:
 return None  # The compiler cannot compile at all, let's *not* 
skip the test


___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r286723 - Make Options::SetOptionValue take a StringRef.

2016-11-12 Thread Zachary Turner via lldb-commits
Author: zturner
Date: Sat Nov 12 10:56:47 2016
New Revision: 286723

URL: http://llvm.org/viewvc/llvm-project?rev=286723&view=rev
Log:
Make Options::SetOptionValue take a StringRef.

Modified:
lldb/trunk/include/lldb/Interpreter/Options.h
lldb/trunk/include/lldb/Target/Process.h
lldb/trunk/include/lldb/Target/ProcessLaunchInfo.h
lldb/trunk/source/Commands/CommandObjectArgs.cpp
lldb/trunk/source/Commands/CommandObjectArgs.h
lldb/trunk/source/Commands/CommandObjectBreakpoint.cpp
lldb/trunk/source/Commands/CommandObjectBreakpointCommand.cpp
lldb/trunk/source/Commands/CommandObjectCommands.cpp
lldb/trunk/source/Commands/CommandObjectDisassemble.cpp
lldb/trunk/source/Commands/CommandObjectDisassemble.h
lldb/trunk/source/Commands/CommandObjectExpression.h
lldb/trunk/source/Commands/CommandObjectFrame.cpp
lldb/trunk/source/Commands/CommandObjectHelp.h
lldb/trunk/source/Commands/CommandObjectLog.cpp
lldb/trunk/source/Commands/CommandObjectMemory.cpp
lldb/trunk/source/Commands/CommandObjectPlatform.cpp
lldb/trunk/source/Commands/CommandObjectProcess.cpp
lldb/trunk/source/Commands/CommandObjectRegister.cpp
lldb/trunk/source/Commands/CommandObjectSettings.cpp
lldb/trunk/source/Commands/CommandObjectSource.cpp
lldb/trunk/source/Commands/CommandObjectTarget.cpp
lldb/trunk/source/Commands/CommandObjectThread.cpp
lldb/trunk/source/Commands/CommandObjectType.cpp
lldb/trunk/source/Commands/CommandObjectWatchpoint.cpp
lldb/trunk/source/Commands/CommandObjectWatchpointCommand.cpp
lldb/trunk/source/Interpreter/Options.cpp

lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp

lldb/trunk/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp

lldb/trunk/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
lldb/trunk/source/Target/Process.cpp
lldb/trunk/source/Target/ProcessLaunchInfo.cpp

Modified: lldb/trunk/include/lldb/Interpreter/Options.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Interpreter/Options.h?rev=286723&r1=286722&r2=286723&view=diff
==
--- lldb/trunk/include/lldb/Interpreter/Options.h (original)
+++ lldb/trunk/include/lldb/Interpreter/Options.h Sat Nov 12 10:56:47 2016
@@ -192,8 +192,7 @@ public:
   /// @see Args::ParseOptions (Options&)
   /// @see man getopt_long_only
   //--
-  // TODO: Make this function take a StringRef.
-  virtual Error SetOptionValue(uint32_t option_idx, const char *option_arg,
+  virtual Error SetOptionValue(uint32_t option_idx, llvm::StringRef option_arg,
ExecutionContext *execution_context) = 0;
 
   //--
@@ -344,7 +343,6 @@ public:
   virtual Error SetOptionValue(uint32_t option_idx,
llvm::StringRef option_value,
ExecutionContext *execution_context) = 0;
-  Error SetOptionValue(uint32_t, const char *, ExecutionContext *) = delete;
 
   virtual void OptionParsingStarting(ExecutionContext *execution_context) = 0;
 
@@ -403,7 +401,7 @@ public:
 
   bool DidFinalize() { return m_did_finalize; }
 
-  Error SetOptionValue(uint32_t option_idx, const char *option_arg,
+  Error SetOptionValue(uint32_t option_idx, llvm::StringRef option_arg,
ExecutionContext *execution_context) override;
 
   void OptionParsingStarting(ExecutionContext *execution_context) override;

Modified: lldb/trunk/include/lldb/Target/Process.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/Process.h?rev=286723&r1=286722&r2=286723&view=diff
==
--- lldb/trunk/include/lldb/Target/Process.h (original)
+++ lldb/trunk/include/lldb/Target/Process.h Sat Nov 12 10:56:47 2016
@@ -214,12 +214,7 @@ public:
 return (m_plugin_name.empty() ? nullptr : m_plugin_name.c_str());
   }
 
-  void SetProcessPluginName(const char *plugin) {
-if (plugin && plugin[0])
-  m_plugin_name.assign(plugin);
-else
-  m_plugin_name.clear();
-  }
+  void SetProcessPluginName(llvm::StringRef plugin) { m_plugin_name = plugin; }
 
   void Clear() {
 ProcessInstanceInfo::Clear();
@@ -285,7 +280,7 @@ public:
 
   ~ProcessLaunchCommandOptions() override = default;
 
-  Error SetOptionValue(uint32_t option_idx, const char *option_arg,
+  Error SetOptionValue(uint32_t option_idx, llvm::StringRef option_arg,
ExecutionContext *execution_context) override;
 
   void OptionParsingStarting(ExecutionContext *execution_context) override {

Modified: lldb/trunk/include/lldb/Target/ProcessLaunchInfo.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/ProcessLaun

[Lldb-commits] [lldb] r286726 - Make ValueObjectMemory::Create accept StringRefs.

2016-11-12 Thread Zachary Turner via lldb-commits
Author: zturner
Date: Sat Nov 12 12:17:36 2016
New Revision: 286726

URL: http://llvm.org/viewvc/llvm-project?rev=286726&view=rev
Log:
Make ValueObjectMemory::Create accept StringRefs.

Modified:
lldb/trunk/include/lldb/Core/ValueObjectMemory.h
lldb/trunk/source/Breakpoint/Watchpoint.cpp
lldb/trunk/source/Commands/CommandObjectMemory.cpp
lldb/trunk/source/Core/ValueObjectMemory.cpp
lldb/trunk/source/Target/StackFrame.cpp

Modified: lldb/trunk/include/lldb/Core/ValueObjectMemory.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/ValueObjectMemory.h?rev=286726&r1=286725&r2=286726&view=diff
==
--- lldb/trunk/include/lldb/Core/ValueObjectMemory.h (original)
+++ lldb/trunk/include/lldb/Core/ValueObjectMemory.h Sat Nov 12 12:17:36 2016
@@ -28,11 +28,13 @@ public:
   ~ValueObjectMemory() override;
 
   static lldb::ValueObjectSP Create(ExecutionContextScope *exe_scope,
-const char *name, const Address &address,
+llvm::StringRef name,
+const Address &address,
 lldb::TypeSP &type_sp);
 
   static lldb::ValueObjectSP Create(ExecutionContextScope *exe_scope,
-const char *name, const Address &address,
+llvm::StringRef name,
+const Address &address,
 const CompilerType &ast_type);
 
   uint64_t GetByteSize() override;
@@ -59,10 +61,10 @@ protected:
   CompilerType m_compiler_type;
 
 private:
-  ValueObjectMemory(ExecutionContextScope *exe_scope, const char *name,
+  ValueObjectMemory(ExecutionContextScope *exe_scope, llvm::StringRef name,
 const Address &address, lldb::TypeSP &type_sp);
 
-  ValueObjectMemory(ExecutionContextScope *exe_scope, const char *name,
+  ValueObjectMemory(ExecutionContextScope *exe_scope, llvm::StringRef name,
 const Address &address, const CompilerType &ast_type);
   //--
   // For ValueObject only

Modified: lldb/trunk/source/Breakpoint/Watchpoint.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Breakpoint/Watchpoint.cpp?rev=286726&r1=286725&r2=286726&view=diff
==
--- lldb/trunk/source/Breakpoint/Watchpoint.cpp (original)
+++ lldb/trunk/source/Breakpoint/Watchpoint.cpp Sat Nov 12 12:17:36 2016
@@ -109,9 +109,9 @@ bool Watchpoint::CaptureWatchedValue(con
 // we can go grab the value raw and print it as unsigned.
 return false;
   }
-  m_new_value_sp =
-  ValueObjectMemory::Create(exe_ctx.GetBestExecutionContextScope(),
-watch_name.AsCString(), watch_address, m_type);
+  m_new_value_sp = ValueObjectMemory::Create(
+  exe_ctx.GetBestExecutionContextScope(), watch_name.GetStringRef(),
+  watch_address, m_type);
   m_new_value_sp = m_new_value_sp->CreateConstantValue(watch_name);
   return (m_new_value_sp && m_new_value_sp->GetError().Success());
 }

Modified: lldb/trunk/source/Commands/CommandObjectMemory.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectMemory.cpp?rev=286726&r1=286725&r2=286726&view=diff
==
--- lldb/trunk/source/Commands/CommandObjectMemory.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectMemory.cpp Sat Nov 12 12:17:36 2016
@@ -810,7 +810,7 @@ protected:
 StreamString name_strm;
 name_strm.Printf("0x%" PRIx64, item_addr);
 ValueObjectSP valobj_sp(ValueObjectMemory::Create(
-exe_scope, name_strm.GetString().c_str(), address, 
clang_ast_type));
+exe_scope, name_strm.GetString(), address, clang_ast_type));
 if (valobj_sp) {
   Format format = m_format_options.GetFormat();
   if (format != eFormatDefault)

Modified: lldb/trunk/source/Core/ValueObjectMemory.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/ValueObjectMemory.cpp?rev=286726&r1=286725&r2=286726&view=diff
==
--- lldb/trunk/source/Core/ValueObjectMemory.cpp (original)
+++ lldb/trunk/source/Core/ValueObjectMemory.cpp Sat Nov 12 12:17:36 2016
@@ -33,21 +33,22 @@ using namespace lldb;
 using namespace lldb_private;
 
 ValueObjectSP ValueObjectMemory::Create(ExecutionContextScope *exe_scope,
-const char *name,
+llvm::StringRef name,
 const Address &address,
 lldb::TypeSP &type_sp) {
   return (new ValueObjectMemory(exe_scope, name, address, ty

[Lldb-commits] [lldb] r286728 - Make CommandReturnObject methods accept StringRefs.

2016-11-12 Thread Zachary Turner via lldb-commits
Author: zturner
Date: Sat Nov 12 12:47:11 2016
New Revision: 286728

URL: http://llvm.org/viewvc/llvm-project?rev=286728&view=rev
Log:
Make CommandReturnObject methods accept StringRefs.

Modified:
lldb/trunk/include/lldb/Interpreter/CommandReturnObject.h
lldb/trunk/source/Interpreter/CommandReturnObject.cpp

Modified: lldb/trunk/include/lldb/Interpreter/CommandReturnObject.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Interpreter/CommandReturnObject.h?rev=286728&r1=286727&r2=286728&view=diff
==
--- lldb/trunk/include/lldb/Interpreter/CommandReturnObject.h (original)
+++ lldb/trunk/include/lldb/Interpreter/CommandReturnObject.h Sat Nov 12 
12:47:11 2016
@@ -91,28 +91,28 @@ public:
 
   void Clear();
 
-  void AppendMessage(const char *in_string);
+  void AppendMessage(llvm::StringRef in_string);
 
   void AppendMessageWithFormat(const char *format, ...)
   __attribute__((format(printf, 2, 3)));
 
-  void AppendRawWarning(const char *in_string);
+  void AppendRawWarning(llvm::StringRef in_string);
 
-  void AppendWarning(const char *in_string);
+  void AppendWarning(llvm::StringRef in_string);
 
   void AppendWarningWithFormat(const char *format, ...)
   __attribute__((format(printf, 2, 3)));
 
-  void AppendError(const char *in_string);
+  void AppendError(llvm::StringRef in_string);
 
-  void AppendRawError(const char *in_string);
+  void AppendRawError(llvm::StringRef in_string);
 
   void AppendErrorWithFormat(const char *format, ...)
   __attribute__((format(printf, 2, 3)));
 
   void SetError(const Error &error, const char *fallback_error_cstr = nullptr);
 
-  void SetError(const char *error_cstr);
+  void SetError(llvm::StringRef error_cstr);
 
   lldb::ReturnStatus GetStatus();
 

Modified: lldb/trunk/source/Interpreter/CommandReturnObject.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/CommandReturnObject.cpp?rev=286728&r1=286727&r2=286728&view=diff
==
--- lldb/trunk/source/Interpreter/CommandReturnObject.cpp (original)
+++ lldb/trunk/source/Interpreter/CommandReturnObject.cpp Sat Nov 12 12:47:11 
2016
@@ -84,30 +84,31 @@ void CommandReturnObject::AppendWarningW
   GetErrorStream().Printf("warning: %s", sstrm.GetData());
 }
 
-void CommandReturnObject::AppendMessage(const char *in_string) {
-  if (!in_string)
+void CommandReturnObject::AppendMessage(llvm::StringRef in_string) {
+  if (in_string.empty())
 return;
-  GetOutputStream().Printf("%s\n", in_string);
+  GetOutputStream() << in_string << "\n";
 }
 
-void CommandReturnObject::AppendWarning(const char *in_string) {
-  if (!in_string || *in_string == '\0')
+void CommandReturnObject::AppendWarning(llvm::StringRef in_string) {
+  if (in_string.empty())
 return;
-  GetErrorStream().Printf("warning: %s\n", in_string);
+  GetErrorStream() << "warning: " << in_string << "\n";
 }
 
 // Similar to AppendWarning, but do not prepend 'warning: ' to message, and
 // don't append "\n" to the end of it.
 
-void CommandReturnObject::AppendRawWarning(const char *in_string) {
-  if (in_string && in_string[0])
-GetErrorStream().PutCString(in_string);
+void CommandReturnObject::AppendRawWarning(llvm::StringRef in_string) {
+  if (in_string.empty())
+return;
+  GetErrorStream() << in_string;
 }
 
-void CommandReturnObject::AppendError(const char *in_string) {
-  if (!in_string || *in_string == '\0')
+void CommandReturnObject::AppendError(llvm::StringRef in_string) {
+  if (in_string.empty())
 return;
-  GetErrorStream().Printf("error: %s\n", in_string);
+  GetErrorStream() << "error: " << in_string << "\n";
 }
 
 void CommandReturnObject::SetError(const Error &error,
@@ -118,19 +119,21 @@ void CommandReturnObject::SetError(const
   SetError(error_cstr);
 }
 
-void CommandReturnObject::SetError(const char *error_cstr) {
-  if (error_cstr) {
-AppendError(error_cstr);
-SetStatus(eReturnStatusFailed);
-  }
+void CommandReturnObject::SetError(llvm::StringRef error_str) {
+  if (error_str.empty())
+return;
+
+  AppendError(error_str);
+  SetStatus(eReturnStatusFailed);
 }
 
 // Similar to AppendError, but do not prepend 'Error: ' to message, and
 // don't append "\n" to the end of it.
 
-void CommandReturnObject::AppendRawError(const char *in_string) {
-  if (in_string && in_string[0])
-GetErrorStream().PutCString(in_string);
+void CommandReturnObject::AppendRawError(llvm::StringRef in_string) {
+  if (in_string.empty())
+return;
+  GetErrorStream() << in_string;
 }
 
 void CommandReturnObject::SetStatus(ReturnStatus status) { m_status = status; }


___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r286730 - Make DiagnosticsManager functions take StringRefs.

2016-11-12 Thread Zachary Turner via lldb-commits
Author: zturner
Date: Sat Nov 12 13:12:56 2016
New Revision: 286730

URL: http://llvm.org/viewvc/llvm-project?rev=286730&view=rev
Log:
Make DiagnosticsManager functions take StringRefs.

Modified:
lldb/trunk/include/lldb/Expression/DiagnosticManager.h
lldb/trunk/source/Expression/DiagnosticManager.cpp
lldb/trunk/source/Expression/FunctionCaller.cpp
lldb/trunk/source/Expression/LLVMUserExpression.cpp
lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp
lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp
lldb/trunk/source/Plugins/ExpressionParser/Go/GoUserExpression.cpp
lldb/trunk/source/Target/Process.cpp

Modified: lldb/trunk/include/lldb/Expression/DiagnosticManager.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Expression/DiagnosticManager.h?rev=286730&r1=286729&r2=286730&view=diff
==
--- lldb/trunk/include/lldb/Expression/DiagnosticManager.h (original)
+++ lldb/trunk/include/lldb/Expression/DiagnosticManager.h Sat Nov 12 13:12:56 
2016
@@ -13,6 +13,8 @@
 #include "lldb/lldb-defines.h"
 #include "lldb/lldb-types.h"
 
+#include "llvm/ADT/StringRef.h"
+
 #include 
 #include 
 
@@ -55,7 +57,7 @@ public:
 }
   }
 
-  Diagnostic(const char *message, DiagnosticSeverity severity,
+  Diagnostic(llvm::StringRef message, DiagnosticSeverity severity,
  DiagnosticOrigin origin, uint32_t compiler_id)
   : m_message(message), m_severity(severity), m_origin(origin),
 m_compiler_id(compiler_id) {}
@@ -72,9 +74,10 @@ public:
 
   uint32_t GetCompilerID() const { return m_compiler_id; }
 
-  const char *GetMessage() const { return m_message.c_str(); }
+  llvm::StringRef GetMessage() const { return m_message; }
 
-  void AppendMessage(const char *message, bool precede_with_newline = true) {
+  void AppendMessage(llvm::StringRef message,
+ bool precede_with_newline = true) {
 if (precede_with_newline)
   m_message.push_back('\n');
 m_message.append(message);
@@ -114,7 +117,7 @@ public:
 return false;
   }
 
-  void AddDiagnostic(const char *message, DiagnosticSeverity severity,
+  void AddDiagnostic(llvm::StringRef message, DiagnosticSeverity severity,
  DiagnosticOrigin origin,
  uint32_t compiler_id = LLDB_INVALID_COMPILER_ID) {
 m_diagnostics.push_back(
@@ -127,11 +130,11 @@ public:
 
   size_t Printf(DiagnosticSeverity severity, const char *format, ...)
   __attribute__((format(printf, 3, 4)));
-  size_t PutCString(DiagnosticSeverity severity, const char *cstr);
+  size_t PutString(DiagnosticSeverity severity, llvm::StringRef str);
 
-  void AppendMessageToDiagnostic(const char *cstr) {
-if (m_diagnostics.size()) {
-  m_diagnostics.back()->AppendMessage(cstr);
+  void AppendMessageToDiagnostic(llvm::StringRef str) {
+if (!m_diagnostics.empty()) {
+  m_diagnostics.back()->AppendMessage(str);
 }
   }
 

Modified: lldb/trunk/source/Expression/DiagnosticManager.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/DiagnosticManager.cpp?rev=286730&r1=286729&r2=286730&view=diff
==
--- lldb/trunk/source/Expression/DiagnosticManager.cpp (original)
+++ lldb/trunk/source/Expression/DiagnosticManager.cpp Sat Nov 12 13:12:56 2016
@@ -67,15 +67,15 @@ size_t DiagnosticManager::Printf(Diagnos
   size_t result = ss.PrintfVarArg(format, args);
   va_end(args);
 
-  AddDiagnostic(ss.GetData(), severity, eDiagnosticOriginLLDB);
+  AddDiagnostic(ss.GetString(), severity, eDiagnosticOriginLLDB);
 
   return result;
 }
 
-size_t DiagnosticManager::PutCString(DiagnosticSeverity severity,
- const char *cstr) {
-  if (!cstr)
+size_t DiagnosticManager::PutString(DiagnosticSeverity severity,
+llvm::StringRef str) {
+  if (str.empty())
 return 0;
-  AddDiagnostic(cstr, severity, eDiagnosticOriginLLDB);
-  return strlen(cstr);
+  AddDiagnostic(str, severity, eDiagnosticOriginLLDB);
+  return str.size();
 }

Modified: lldb/trunk/source/Expression/FunctionCaller.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/FunctionCaller.cpp?rev=286730&r1=286729&r2=286730&view=diff
==
--- lldb/trunk/source/Expression/FunctionCaller.cpp (original)
+++ lldb/trunk/source/Expression/FunctionCaller.cpp Sat Nov 12 13:12:56 2016
@@ -1,5 +1,4 @@
-//===-- FunctionCaller.cpp ---*- C++
-//-*-===//
+//===-- FunctionCaller.cpp ---*- 
C++-*-===//
 //
 // The LLVM Com

[Lldb-commits] [lldb] r286731 - Make CommandObject help getters/setters use StringRef.

2016-11-12 Thread Zachary Turner via lldb-commits
Author: zturner
Date: Sat Nov 12 14:41:02 2016
New Revision: 286731

URL: http://llvm.org/viewvc/llvm-project?rev=286731&view=rev
Log:
Make CommandObject help getters/setters use StringRef.

Modified:
lldb/trunk/include/lldb/Interpreter/CommandAlias.h
lldb/trunk/include/lldb/Interpreter/CommandObject.h
lldb/trunk/include/lldb/Interpreter/CommandObjectMultiword.h
lldb/trunk/source/API/SBCommandInterpreter.cpp
lldb/trunk/source/Commands/CommandObjectCommands.cpp
lldb/trunk/source/Commands/CommandObjectMultiword.cpp
lldb/trunk/source/Commands/CommandObjectType.cpp
lldb/trunk/source/Interpreter/CommandAlias.cpp
lldb/trunk/source/Interpreter/CommandObject.cpp
lldb/trunk/source/Interpreter/CommandObjectRegexCommand.cpp

Modified: lldb/trunk/include/lldb/Interpreter/CommandAlias.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Interpreter/CommandAlias.h?rev=286731&r1=286730&r2=286731&view=diff
==
--- lldb/trunk/include/lldb/Interpreter/CommandAlias.h (original)
+++ lldb/trunk/include/lldb/Interpreter/CommandAlias.h Sat Nov 12 14:41:02 2016
@@ -58,13 +58,13 @@ public:
 
   bool IsDashDashCommand() override;
 
-  const char *GetHelp() override;
+  llvm::StringRef GetHelp() override;
 
-  const char *GetHelpLong() override;
+  llvm::StringRef GetHelpLong() override;
 
-  void SetHelp(const char *str) override;
+  void SetHelp(llvm::StringRef str) override;
 
-  void SetHelpLong(const char *str) override;
+  void SetHelpLong(llvm::StringRef str) override;
 
   bool Execute(const char *args_string, CommandReturnObject &result) override;
 

Modified: lldb/trunk/include/lldb/Interpreter/CommandObject.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Interpreter/CommandObject.h?rev=286731&r1=286730&r2=286731&view=diff
==
--- lldb/trunk/include/lldb/Interpreter/CommandObject.h (original)
+++ lldb/trunk/include/lldb/Interpreter/CommandObject.h Sat Nov 12 14:41:02 2016
@@ -122,19 +122,19 @@ public:
 
   CommandInterpreter &GetCommandInterpreter() { return m_interpreter; }
 
-  virtual const char *GetHelp();
+  virtual llvm::StringRef GetHelp();
 
-  virtual const char *GetHelpLong();
+  virtual llvm::StringRef GetHelpLong();
 
-  virtual const char *GetSyntax();
+  virtual llvm::StringRef GetSyntax();
 
   llvm::StringRef GetCommandName() const;
 
-  virtual void SetHelp(const char *str);
+  virtual void SetHelp(llvm::StringRef str);
 
-  virtual void SetHelpLong(const char *str);
+  virtual void SetHelpLong(llvm::StringRef str);
 
-  void SetSyntax(const char *str);
+  void SetSyntax(llvm::StringRef str);
 
   // override this to return true if you want to enable the user to delete
   // the Command object from the Command dictionary (aliases have their own
@@ -167,7 +167,7 @@ public:
  StringList &commands_found,
  StringList &commands_help) {}
 
-  void FormatLongHelpText(Stream &output_strm, const char *long_help);
+  void FormatLongHelpText(Stream &output_strm, llvm::StringRef long_help);
 
   void GenerateHelpText(CommandReturnObject &result);
 
@@ -219,7 +219,7 @@ public:
 
   bool ParseOptions(Args &args, CommandReturnObject &result);
 
-  void SetCommandName(const char *name);
+  void SetCommandName(llvm::StringRef name);
 
   //--
   /// The input array contains a parsed version of the line.  The insertion

Modified: lldb/trunk/include/lldb/Interpreter/CommandObjectMultiword.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Interpreter/CommandObjectMultiword.h?rev=286731&r1=286730&r2=286731&view=diff
==
--- lldb/trunk/include/lldb/Interpreter/CommandObjectMultiword.h (original)
+++ lldb/trunk/include/lldb/Interpreter/CommandObjectMultiword.h Sat Nov 12 
14:41:02 2016
@@ -90,7 +90,7 @@ public:
   // used for this object.
   virtual CommandObject *GetProxyCommandObject() = 0;
 
-  const char *GetHelpLong() override;
+  llvm::StringRef GetHelpLong() override;
 
   bool IsRemovable() const override;
 

Modified: lldb/trunk/source/API/SBCommandInterpreter.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBCommandInterpreter.cpp?rev=286731&r1=286730&r2=286731&view=diff
==
--- lldb/trunk/source/API/SBCommandInterpreter.cpp (original)
+++ lldb/trunk/source/API/SBCommandInterpreter.cpp Sat Nov 12 14:41:02 2016
@@ -542,11 +542,13 @@ const char *SBCommand::GetName() {
 }
 
 const char *SBCommand::GetHelp() {
-  return (IsValid() ? m_opaque_sp->GetHelp() : nullptr);
+  return (IsValid() ? ConstString(m_opaque_sp->GetHelp()).AsCString()
+: nullptr);
 }
 
 const ch

[Lldb-commits] [PATCH] D24863: Keep dependencies separated between static and dynamic libraries. Fix for bug #28127.

2016-11-12 Thread Mehdi AMINI via lldb-commits
mehdi_amini added a comment.

Please also close https://llvm.org/bugs/show_bug.cgi?id=28127 if @labath fix is 
enough.


Repository:
  rL LLVM

https://reviews.llvm.org/D24863



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r286740 - Change ArgumentHelpCallbackFunction to return a StringRef.

2016-11-12 Thread Zachary Turner via lldb-commits
Author: zturner
Date: Sat Nov 12 20:08:22 2016
New Revision: 286740

URL: http://llvm.org/viewvc/llvm-project?rev=286740&view=rev
Log:
Change ArgumentHelpCallbackFunction to return a StringRef.

Modified:
lldb/trunk/include/lldb/Interpreter/CommandObject.h
lldb/trunk/source/Interpreter/CommandObject.cpp

Modified: lldb/trunk/include/lldb/Interpreter/CommandObject.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Interpreter/CommandObject.h?rev=286740&r1=286739&r2=286740&view=diff
==
--- lldb/trunk/include/lldb/Interpreter/CommandObject.h (original)
+++ lldb/trunk/include/lldb/Interpreter/CommandObject.h Sat Nov 12 20:08:22 2016
@@ -66,13 +66,13 @@ size_t FindLongestCommandWord(std::maphttp://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/CommandObject.cpp?rev=286740&r1=286739&r2=286740&view=diff
==
--- lldb/trunk/source/Interpreter/CommandObject.cpp (original)
+++ lldb/trunk/source/Interpreter/CommandObject.cpp Sat Nov 12 20:08:22 2016
@@ -390,7 +390,7 @@ void CommandObject::GetArgumentHelp(Stre
   name_str.Printf("<%s>", entry->arg_name);
 
   if (entry->help_function) {
-const char *help_text = entry->help_function();
+llvm::StringRef help_text = entry->help_function();
 if (!entry->help_function.self_formatting) {
   interpreter.OutputFormattedHelpText(str, name_str.GetData(), "--",
   help_text, name_str.GetSize());
@@ -553,7 +553,7 @@ CommandArgumentType CommandObject::Looku
   return return_type;
 }
 
-static const char *RegisterNameHelpTextCallback() {
+static llvm::StringRef RegisterNameHelpTextCallback() {
   return "Register names can be specified using the architecture specific "
  "names.  "
  "They can also be specified using generic names.  Not all generic "
@@ -571,7 +571,7 @@ static const char *RegisterNameHelpTextC
  "arg{1-6} - integer argument passing registers.\n";
 }
 
-static const char *BreakpointIDHelpTextCallback() {
+static llvm::StringRef BreakpointIDHelpTextCallback() {
   return "Breakpoints are identified using major and minor numbers; the major "
  "number corresponds to the single entity that was created with a "
  "'breakpoint "
@@ -590,7 +590,7 @@ static const char *BreakpointIDHelpTextC
  "3 or 3.2 could both be valid breakpoint IDs.)";
 }
 
-static const char *BreakpointIDRangeHelpTextCallback() {
+static llvm::StringRef BreakpointIDRangeHelpTextCallback() {
   return "A 'breakpoint ID list' is a manner of specifying multiple "
  "breakpoints. "
  "This can be done through several mechanisms.  The easiest way is to "
@@ -609,7 +609,7 @@ static const char *BreakpointIDRangeHelp
  " is legal; 2 - 5 is legal; but 3.2 - 4.4 is not legal.";
 }
 
-static const char *BreakpointNameHelpTextCallback() {
+static llvm::StringRef BreakpointNameHelpTextCallback() {
   return "A name that can be added to a breakpoint when it is created, or "
  "later "
  "on with the \"breakpoint name add\" command.  "
@@ -634,7 +634,7 @@ static const char *BreakpointNameHelpTex
  "breakpoint locations.";
 }
 
-static const char *GDBFormatHelpTextCallback() {
+static llvm::StringRef GDBFormatHelpTextCallback() {
   return "A GDB format consists of a repeat count, a format letter and a size "
  "letter. "
  "The repeat count is optional and defaults to 1. The format letter is 
"
@@ -671,12 +671,11 @@ static const char *GDBFormatHelpTextCall
  "dw   - show 1 4 byte decimal integer value\n";
 }
 
-static const char *FormatHelpTextCallback() {
+static llvm::StringRef FormatHelpTextCallback() {
+  static std::string help_text;
 
-  static char *help_text_ptr = nullptr;
-
-  if (help_text_ptr)
-return help_text_ptr;
+  if (!help_text.empty())
+return help_text;
 
   StreamString sstr;
   sstr << "One of the format names (or one-character names) that can be used "
@@ -694,20 +693,16 @@ static const char *FormatHelpTextCallbac
 
   sstr.Flush();
 
-  std::string data = sstr.GetString();
-
-  help_text_ptr = new char[data.length() + 1];
-
-  data.copy(help_text_ptr, data.length());
+  help_text = sstr.GetString();
 
-  return help_text_ptr;
+  return help_text;
 }
 
-static const char *LanguageTypeHelpTextCallback() {
-  static char *help_text_ptr = nullptr;
+static llvm::StringRef LanguageTypeHelpTextCallback() {
+  static std::string help_text;
 
-  if (help_text_ptr)
-return help_text_ptr;
+  if (!help_text.empty())
+return help_text;
 
   StreamString sstr;
   sstr << "One of the following languages:\n";
@@ -716,16 +711,12 @@ static const char *LanguageTypeHelpTextC
 
   sstr.Flush();
 
-  std::string data = sstr.GetString();
-
-  help_text_ptr = new char[data.length() + 1];
-
-  data.copy(help_text_ptr, data.length());
+  help_tex

[Lldb-commits] [lldb] r286742 - Change some more CommandObject functions to StringRef.

2016-11-12 Thread Zachary Turner via lldb-commits
Author: zturner
Date: Sat Nov 12 20:50:32 2016
New Revision: 286742

URL: http://llvm.org/viewvc/llvm-project?rev=286742&view=rev
Log:
Change some more CommandObject functions to StringRef.

Modified:
lldb/trunk/include/lldb/Interpreter/CommandObject.h
lldb/trunk/include/lldb/Interpreter/CommandObjectMultiword.h
lldb/trunk/source/Commands/CommandObjectMultiword.cpp
lldb/trunk/source/Interpreter/CommandObject.cpp

Modified: lldb/trunk/include/lldb/Interpreter/CommandObject.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Interpreter/CommandObject.h?rev=286742&r1=286741&r2=286742&view=diff
==
--- lldb/trunk/include/lldb/Interpreter/CommandObject.h (original)
+++ lldb/trunk/include/lldb/Interpreter/CommandObject.h Sat Nov 12 20:50:32 2016
@@ -152,18 +152,18 @@ public:
   // hint to the help system that one cannot pass options to this command
   virtual bool IsDashDashCommand() { return false; }
 
-  virtual lldb::CommandObjectSP GetSubcommandSP(const char *sub_cmd,
+  virtual lldb::CommandObjectSP GetSubcommandSP(llvm::StringRef sub_cmd,
 StringList *matches = nullptr) 
{
 return lldb::CommandObjectSP();
   }
 
-  virtual CommandObject *GetSubcommandObject(const char *sub_cmd,
+  virtual CommandObject *GetSubcommandObject(llvm::StringRef sub_cmd,
  StringList *matches = nullptr) {
 return nullptr;
   }
 
-  virtual void AproposAllSubCommands(const char *prefix,
- const char *search_word,
+  virtual void AproposAllSubCommands(llvm::StringRef prefix,
+ llvm::StringRef search_word,
  StringList &commands_found,
  StringList &commands_help) {}
 
@@ -177,7 +177,7 @@ public:
   // transparently try and load subcommands - it will fail on
   // anything but a multiword command, but it avoids us doing
   // type checkings and casts
-  virtual bool LoadSubCommand(const char *cmd_name,
+  virtual bool LoadSubCommand(llvm::StringRef cmd_name,
   const lldb::CommandObjectSP &command_obj) {
 return false;
   }
@@ -324,7 +324,7 @@ public:
 return 0;
   }
 
-  bool HelpTextContainsWord(const char *search_word,
+  bool HelpTextContainsWord(llvm::StringRef search_word,
 bool search_short_help = true,
 bool search_long_help = true,
 bool search_syntax = true,

Modified: lldb/trunk/include/lldb/Interpreter/CommandObjectMultiword.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Interpreter/CommandObjectMultiword.h?rev=286742&r1=286741&r2=286742&view=diff
==
--- lldb/trunk/include/lldb/Interpreter/CommandObjectMultiword.h (original)
+++ lldb/trunk/include/lldb/Interpreter/CommandObjectMultiword.h Sat Nov 12 
20:50:32 2016
@@ -38,18 +38,19 @@ public:
 
   CommandObjectMultiword *GetAsMultiwordCommand() override { return this; }
 
-  bool LoadSubCommand(const char *cmd_name,
+  bool LoadSubCommand(llvm::StringRef cmd_name,
   const lldb::CommandObjectSP &command_obj) override;
 
   void GenerateHelpText(Stream &output_stream) override;
 
-  lldb::CommandObjectSP GetSubcommandSP(const char *sub_cmd,
+  lldb::CommandObjectSP GetSubcommandSP(llvm::StringRef sub_cmd,
 StringList *matches = nullptr) 
override;
 
-  CommandObject *GetSubcommandObject(const char *sub_cmd,
+  CommandObject *GetSubcommandObject(llvm::StringRef sub_cmd,
  StringList *matches = nullptr) override;
 
-  void AproposAllSubCommands(const char *prefix, const char *search_word,
+  void AproposAllSubCommands(llvm::StringRef prefix,
+ llvm::StringRef search_word,
  StringList &commands_found,
  StringList &commands_help) override;
 
@@ -100,17 +101,18 @@ public:
 
   void GenerateHelpText(Stream &result) override;
 
-  lldb::CommandObjectSP GetSubcommandSP(const char *sub_cmd,
+  lldb::CommandObjectSP GetSubcommandSP(llvm::StringRef sub_cmd,
 StringList *matches = nullptr) 
override;
 
-  CommandObject *GetSubcommandObject(const char *sub_cmd,
+  CommandObject *GetSubcommandObject(llvm::StringRef sub_cmd,
  StringList *matches = nullptr) override;
 
-  void AproposAllSubCommands(const char *prefix, const char *search_word,
+  void AproposAllSubCommands(llvm::StringRef prefix,
+ llvm::StringRef search_word,
  StringList &commands_found,
  StringList &commands_help) override;
 

[Lldb-commits] [lldb] r286743 - Change IOHandlerConfirm to use StringRefs.

2016-11-12 Thread Zachary Turner via lldb-commits
Author: zturner
Date: Sat Nov 12 21:05:58 2016
New Revision: 286743

URL: http://llvm.org/viewvc/llvm-project?rev=286743&view=rev
Log:
Change IOHandlerConfirm to use StringRefs.

Modified:
lldb/trunk/include/lldb/Core/IOHandler.h
lldb/trunk/include/lldb/Interpreter/CommandInterpreter.h
lldb/trunk/source/Core/IOHandler.cpp
lldb/trunk/source/Interpreter/CommandInterpreter.cpp

Modified: lldb/trunk/include/lldb/Core/IOHandler.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/IOHandler.h?rev=286743&r1=286742&r2=286743&view=diff
==
--- lldb/trunk/include/lldb/Core/IOHandler.h (original)
+++ lldb/trunk/include/lldb/Core/IOHandler.h Sat Nov 12 21:05:58 2016
@@ -458,7 +458,7 @@ protected:
 // to see how.
 class IOHandlerConfirm : public IOHandlerDelegate, public IOHandlerEditline {
 public:
-  IOHandlerConfirm(Debugger &debugger, const char *prompt,
+  IOHandlerConfirm(Debugger &debugger, llvm::StringRef prompt,
bool default_response);
 
   ~IOHandlerConfirm() override;

Modified: lldb/trunk/include/lldb/Interpreter/CommandInterpreter.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Interpreter/CommandInterpreter.h?rev=286743&r1=286742&r2=286743&view=diff
==
--- lldb/trunk/include/lldb/Interpreter/CommandInterpreter.h (original)
+++ lldb/trunk/include/lldb/Interpreter/CommandInterpreter.h Sat Nov 12 
21:05:58 2016
@@ -367,9 +367,8 @@ public:
   const char *ProcessEmbeddedScriptCommands(const char *arg);
 
   void UpdatePrompt(llvm::StringRef prompt);
-  void UpdatePrompt(const char *) = delete;
 
-  bool Confirm(const char *message, bool default_answer);
+  bool Confirm(llvm::StringRef message, bool default_answer);
 
   void LoadCommandDictionary();
 

Modified: lldb/trunk/source/Core/IOHandler.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/IOHandler.cpp?rev=286743&r1=286742&r2=286743&view=diff
==
--- lldb/trunk/source/Core/IOHandler.cpp (original)
+++ lldb/trunk/source/Core/IOHandler.cpp Sat Nov 12 21:05:58 2016
@@ -127,7 +127,7 @@ void IOHandlerStack::PrintAsync(Stream *
   }
 }
 
-IOHandlerConfirm::IOHandlerConfirm(Debugger &debugger, const char *prompt,
+IOHandlerConfirm::IOHandlerConfirm(Debugger &debugger, llvm::StringRef prompt,
bool default_response)
 : IOHandlerEditline(
   debugger, IOHandler::Type::Confirm,

Modified: lldb/trunk/source/Interpreter/CommandInterpreter.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/CommandInterpreter.cpp?rev=286743&r1=286742&r2=286743&view=diff
==
--- lldb/trunk/source/Interpreter/CommandInterpreter.cpp (original)
+++ lldb/trunk/source/Interpreter/CommandInterpreter.cpp Sat Nov 12 21:05:58 
2016
@@ -1896,7 +1896,7 @@ void CommandInterpreter::UpdatePrompt(ll
 m_command_io_handler_sp->SetPrompt(new_prompt);
 }
 
-bool CommandInterpreter::Confirm(const char *message, bool default_answer) {
+bool CommandInterpreter::Confirm(llvm::StringRef message, bool default_answer) 
{
   // Check AutoConfirm first:
   if (m_debugger.GetAutoConfirm())
 return default_answer;


___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r286744 - Change ValueObject creation functions to take StringRefs.

2016-11-12 Thread Zachary Turner via lldb-commits
Author: zturner
Date: Sat Nov 12 21:29:46 2016
New Revision: 286744

URL: http://llvm.org/viewvc/llvm-project?rev=286744&view=rev
Log:
Change ValueObject creation functions to take StringRefs.

Modified:
lldb/trunk/include/lldb/Core/ValueObject.h
lldb/trunk/include/lldb/DataFormatters/TypeSynthetic.h
lldb/trunk/source/Core/ValueObject.cpp
lldb/trunk/source/DataFormatters/TypeSynthetic.cpp
lldb/trunk/source/Plugins/ExpressionParser/Go/GoUserExpression.cpp

Modified: lldb/trunk/include/lldb/Core/ValueObject.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/ValueObject.h?rev=286744&r1=286743&r2=286744&view=diff
==
--- lldb/trunk/include/lldb/Core/ValueObject.h (original)
+++ lldb/trunk/include/lldb/Core/ValueObject.h Sat Nov 12 21:29:46 2016
@@ -650,21 +650,23 @@ public:
   void Dump(Stream &s, const DumpValueObjectOptions &options);
 
   static lldb::ValueObjectSP
-  CreateValueObjectFromExpression(const char *name, const char *expression,
+  CreateValueObjectFromExpression(llvm::StringRef name,
+  llvm::StringRef expression,
   const ExecutionContext &exe_ctx);
 
   static lldb::ValueObjectSP
-  CreateValueObjectFromExpression(const char *name, const char *expression,
+  CreateValueObjectFromExpression(llvm::StringRef name,
+  llvm::StringRef expression,
   const ExecutionContext &exe_ctx,
   const EvaluateExpressionOptions &options);
 
   static lldb::ValueObjectSP
-  CreateValueObjectFromAddress(const char *name, uint64_t address,
+  CreateValueObjectFromAddress(llvm::StringRef name, uint64_t address,
const ExecutionContext &exe_ctx,
CompilerType type);
 
   static lldb::ValueObjectSP
-  CreateValueObjectFromData(const char *name, const DataExtractor &data,
+  CreateValueObjectFromData(llvm::StringRef name, const DataExtractor &data,
 const ExecutionContext &exe_ctx, CompilerType 
type);
 
   void LogValueObject(Log *log);

Modified: lldb/trunk/include/lldb/DataFormatters/TypeSynthetic.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/DataFormatters/TypeSynthetic.h?rev=286744&r1=286743&r2=286744&view=diff
==
--- lldb/trunk/include/lldb/DataFormatters/TypeSynthetic.h (original)
+++ lldb/trunk/include/lldb/DataFormatters/TypeSynthetic.h Sat Nov 12 21:29:46 
2016
@@ -90,15 +90,16 @@ public:
 
 protected:
   lldb::ValueObjectSP
-  CreateValueObjectFromExpression(const char *name, const char *expression,
+  CreateValueObjectFromExpression(llvm::StringRef name,
+  llvm::StringRef expression,
   const ExecutionContext &exe_ctx);
 
   lldb::ValueObjectSP
-  CreateValueObjectFromAddress(const char *name, uint64_t address,
+  CreateValueObjectFromAddress(llvm::StringRef name, uint64_t address,
const ExecutionContext &exe_ctx,
CompilerType type);
 
-  lldb::ValueObjectSP CreateValueObjectFromData(const char *name,
+  lldb::ValueObjectSP CreateValueObjectFromData(llvm::StringRef name,
 const DataExtractor &data,
 const ExecutionContext 
&exe_ctx,
 CompilerType type);

Modified: lldb/trunk/source/Core/ValueObject.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/ValueObject.cpp?rev=286744&r1=286743&r2=286744&view=diff
==
--- lldb/trunk/source/Core/ValueObject.cpp (original)
+++ lldb/trunk/source/Core/ValueObject.cpp Sat Nov 12 21:29:46 2016
@@ -3605,32 +3605,33 @@ SymbolContextScope *ValueObject::GetSymb
   return NULL;
 }
 
-lldb::ValueObjectSP ValueObject::CreateValueObjectFromExpression(
-const char *name, const char *expression, const ExecutionContext &exe_ctx) 
{
+lldb::ValueObjectSP
+ValueObject::CreateValueObjectFromExpression(llvm::StringRef name,
+ llvm::StringRef expression,
+ const ExecutionContext &exe_ctx) {
   return CreateValueObjectFromExpression(name, expression, exe_ctx,
  EvaluateExpressionOptions());
 }
 
 lldb::ValueObjectSP ValueObject::CreateValueObjectFromExpression(
-const char *name, const char *expression, const ExecutionContext &exe_ctx,
-const EvaluateExpressionOptions &options) {
+llvm::StringRef name, llvm::StringRef expression,
+const ExecutionContext &exe_ctx, const EvaluateExpressionOptions &options) 
{
   lldb::ValueObject

[Lldb-commits] [lldb] r286745 - Fix some use-after-frees that my last CL introduced.

2016-11-12 Thread Zachary Turner via lldb-commits
Author: zturner
Date: Sat Nov 12 21:36:01 2016
New Revision: 286745

URL: http://llvm.org/viewvc/llvm-project?rev=286745&view=rev
Log:
Fix some use-after-frees that my last CL introduced.

Modified:
lldb/trunk/include/lldb/Host/XML.h
lldb/trunk/source/Host/common/XML.cpp

Modified: lldb/trunk/include/lldb/Host/XML.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/XML.h?rev=286745&r1=286744&r2=286745&view=diff
==
--- lldb/trunk/include/lldb/Host/XML.h (original)
+++ lldb/trunk/include/lldb/Host/XML.h Sat Nov 12 21:36:01 2016
@@ -139,7 +139,7 @@ public:
   //--
   XMLNode GetRootElement(const char *required_name = nullptr);
 
-  const std::string &GetErrors() const;
+  llvm::StringRef GetErrors() const;
 
   static void ErrorCallback(void *ctx, const char *format, ...);
 
@@ -160,7 +160,7 @@ public:
 
   bool ParseFile(const char *path);
 
-  const std::string &GetErrors() const;
+  llvm::StringRef GetErrors() const;
 
   explicit operator bool() const { return IsValid(); }
 

Modified: lldb/trunk/source/Host/common/XML.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/common/XML.cpp?rev=286745&r1=286744&r2=286745&view=diff
==
--- lldb/trunk/source/Host/common/XML.cpp (original)
+++ lldb/trunk/source/Host/common/XML.cpp Sat Nov 12 21:36:01 2016
@@ -79,9 +79,7 @@ XMLNode XMLDocument::GetRootElement(cons
   return XMLNode();
 }
 
-const std::string &XMLDocument::GetErrors() const {
-  return m_errors.GetString();
-}
+llvm::StringRef XMLDocument::GetErrors() const { return m_errors.GetString(); }
 
 bool XMLDocument::XMLEnabled() {
 #if defined(LIBXML2_DEFINED)
@@ -391,7 +389,7 @@ ApplePropertyList::ApplePropertyList(con
 
 ApplePropertyList::~ApplePropertyList() {}
 
-const std::string &ApplePropertyList::GetErrors() const {
+llvm::StringRef ApplePropertyList::GetErrors() const {
   return m_xml_doc.GetErrors();
 }
 


___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r286747 - Make OptionParser::Parse() take StringRef.

2016-11-12 Thread Zachary Turner via lldb-commits
Author: zturner
Date: Sat Nov 12 22:24:38 2016
New Revision: 286747

URL: http://llvm.org/viewvc/llvm-project?rev=286747&view=rev
Log:
Make OptionParser::Parse() take StringRef.

Modified:
lldb/trunk/include/lldb/Host/OptionParser.h
lldb/trunk/source/Host/common/OptionParser.cpp
lldb/trunk/source/Interpreter/Args.cpp

Modified: lldb/trunk/include/lldb/Host/OptionParser.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/OptionParser.h?rev=286747&r1=286746&r2=286747&view=diff
==
--- lldb/trunk/include/lldb/Host/OptionParser.h (original)
+++ lldb/trunk/include/lldb/Host/OptionParser.h Sat Nov 12 22:24:38 2016
@@ -13,6 +13,8 @@
 #include 
 #include 
 
+#include "llvm/ADT/StringRef.h"
+
 struct option;
 
 namespace lldb_private {
@@ -36,7 +38,7 @@ public:
 
   static void EnableError(bool error);
 
-  static int Parse(int argc, char *const argv[], const char *optstring,
+  static int Parse(int argc, char *const argv[], llvm::StringRef optstring,
const Option *longopts, int *longindex);
 
   static char *GetOptionArgument();

Modified: lldb/trunk/source/Host/common/OptionParser.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/common/OptionParser.cpp?rev=286747&r1=286746&r2=286747&view=diff
==
--- lldb/trunk/source/Host/common/OptionParser.cpp (original)
+++ lldb/trunk/source/Host/common/OptionParser.cpp Sat Nov 12 22:24:38 2016
@@ -28,7 +28,7 @@ void OptionParser::Prepare(std::unique_l
 
 void OptionParser::EnableError(bool error) { opterr = error ? 1 : 0; }
 
-int OptionParser::Parse(int argc, char *const argv[], const char *optstring,
+int OptionParser::Parse(int argc, char *const argv[], llvm::StringRef 
optstring,
 const Option *longopts, int *longindex) {
   std::vector opts;
   while (longopts->definition != nullptr) {
@@ -41,7 +41,8 @@ int OptionParser::Parse(int argc, char *
 ++longopts;
   }
   opts.push_back(option());
-  return getopt_long_only(argc, argv, optstring, &opts[0], longindex);
+  std::string opt_cstr = optstring;
+  return getopt_long_only(argc, argv, opt_cstr.c_str(), &opts[0], longindex);
 }
 
 char *OptionParser::GetOptionArgument() { return optarg; }

Modified: lldb/trunk/source/Interpreter/Args.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/Args.cpp?rev=286747&r1=286746&r2=286747&view=diff
==
--- lldb/trunk/source/Interpreter/Args.cpp (original)
+++ lldb/trunk/source/Interpreter/Args.cpp Sat Nov 12 22:24:38 2016
@@ -457,9 +457,9 @@ Error Args::ParseOptions(Options &option
   int val;
   while (1) {
 int long_options_index = -1;
-val =
-OptionParser::Parse(GetArgumentCount(), GetArgumentVector(),
-sstr.GetData(), long_options, &long_options_index);
+val = OptionParser::Parse(GetArgumentCount(), GetArgumentVector(),
+  sstr.GetString(), long_options,
+  &long_options_index);
 if (val == -1)
   break;
 
@@ -1175,9 +1175,9 @@ void Args::ParseArgsForCompletion(Option
 bool missing_argument = false;
 int long_options_index = -1;
 
-val =
-OptionParser::Parse(dummy_vec.size() - 1, &dummy_vec[0], 
sstr.GetData(),
-long_options, &long_options_index);
+val = OptionParser::Parse(dummy_vec.size() - 1, &dummy_vec[0],
+  sstr.GetString(), long_options,
+  &long_options_index);
 
 if (val == -1) {
   // When we're completing a "--" which is the last option on line,


___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits