[Lldb-commits] [PATCH] D23977: Support of lldb on Kfreebsd
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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