Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Sep 2015 14:32:31 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r287503 - in vendor/lldb/dist: include/lldb include/lldb/API include/lldb/Core include/lldb/DataFormatters include/lldb/Expression include/lldb/Host include/lldb/Host/common include/lld...
Message-ID:  <201509061432.t86EWVqM084660@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Sun Sep  6 14:32:30 2015
New Revision: 287503
URL: https://svnweb.freebsd.org/changeset/base/287503

Log:
  Vendor import of (stripped) lldb trunk r242221:
  https://llvm.org/svn/llvm-project/lldb/trunk@242221

Added:
  vendor/lldb/dist/include/lldb/Host/MainLoop.h   (contents, props changed)
  vendor/lldb/dist/include/lldb/Host/MainLoopBase.h   (contents, props changed)
  vendor/lldb/dist/include/lldb/Host/posix/MainLoopPosix.h   (contents, props changed)
  vendor/lldb/dist/include/lldb/Target/ThreadPlanCallFunctionUsingABI.h   (contents, props changed)
  vendor/lldb/dist/include/lldb/Utility/StringExtractor.h   (contents, props changed)
  vendor/lldb/dist/source/Host/posix/MainLoopPosix.cpp   (contents, props changed)
  vendor/lldb/dist/source/Plugins/DynamicLoader/Windows-DYLD/
  vendor/lldb/dist/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp   (contents, props changed)
  vendor/lldb/dist/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.h   (contents, props changed)
  vendor/lldb/dist/source/Plugins/Process/Utility/GDBRemoteSignals.cpp   (contents, props changed)
  vendor/lldb/dist/source/Plugins/Process/Utility/GDBRemoteSignals.h   (contents, props changed)
  vendor/lldb/dist/source/Target/ThreadPlanCallFunctionUsingABI.cpp   (contents, props changed)
Deleted:
  vendor/lldb/dist/source/Utility/StringExtractor.h
  vendor/lldb/dist/tools/lldb-platform/
Modified:
  vendor/lldb/dist/include/lldb/API/SBFrame.h
  vendor/lldb/dist/include/lldb/API/SBFunction.h
  vendor/lldb/dist/include/lldb/API/SBPlatform.h
  vendor/lldb/dist/include/lldb/API/SBSymbol.h
  vendor/lldb/dist/include/lldb/API/SBTarget.h
  vendor/lldb/dist/include/lldb/API/SBUnixSignals.h
  vendor/lldb/dist/include/lldb/Core/Connection.h
  vendor/lldb/dist/include/lldb/Core/Mangled.h
  vendor/lldb/dist/include/lldb/Core/StructuredData.h
  vendor/lldb/dist/include/lldb/DataFormatters/CXXFormatterFunctions.h
  vendor/lldb/dist/include/lldb/DataFormatters/VectorType.h
  vendor/lldb/dist/include/lldb/Expression/ClangUserExpression.h
  vendor/lldb/dist/include/lldb/Expression/IRInterpreter.h
  vendor/lldb/dist/include/lldb/Expression/IRMemoryMap.h
  vendor/lldb/dist/include/lldb/Host/Host.h
  vendor/lldb/dist/include/lldb/Host/StringConvert.h
  vendor/lldb/dist/include/lldb/Host/common/NativeProcessProtocol.h
  vendor/lldb/dist/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h
  vendor/lldb/dist/include/lldb/Interpreter/CommandObject.h
  vendor/lldb/dist/include/lldb/Symbol/Function.h
  vendor/lldb/dist/include/lldb/Symbol/Symbol.h
  vendor/lldb/dist/include/lldb/Symbol/Variable.h
  vendor/lldb/dist/include/lldb/Target/ABI.h
  vendor/lldb/dist/include/lldb/Target/Platform.h
  vendor/lldb/dist/include/lldb/Target/Process.h
  vendor/lldb/dist/include/lldb/Target/ThreadPlanCallFunction.h
  vendor/lldb/dist/include/lldb/Target/UnixSignals.h
  vendor/lldb/dist/include/lldb/Utility/JSON.h
  vendor/lldb/dist/include/lldb/lldb-forward.h
  vendor/lldb/dist/include/lldb/lldb-private-forward.h
  vendor/lldb/dist/source/API/SBBlock.cpp
  vendor/lldb/dist/source/API/SBFrame.cpp
  vendor/lldb/dist/source/API/SBFunction.cpp
  vendor/lldb/dist/source/API/SBPlatform.cpp
  vendor/lldb/dist/source/API/SBProcess.cpp
  vendor/lldb/dist/source/API/SBSymbol.cpp
  vendor/lldb/dist/source/API/SBTarget.cpp
  vendor/lldb/dist/source/API/SBThread.cpp
  vendor/lldb/dist/source/API/SBUnixSignals.cpp
  vendor/lldb/dist/source/API/SystemInitializerFull.cpp
  vendor/lldb/dist/source/Breakpoint/BreakpointLocation.cpp
  vendor/lldb/dist/source/Commands/CommandObjectBreakpoint.cpp
  vendor/lldb/dist/source/Commands/CommandObjectBreakpointCommand.cpp
  vendor/lldb/dist/source/Commands/CommandObjectCommands.cpp
  vendor/lldb/dist/source/Commands/CommandObjectExpression.cpp
  vendor/lldb/dist/source/Commands/CommandObjectPlatform.cpp
  vendor/lldb/dist/source/Commands/CommandObjectProcess.cpp
  vendor/lldb/dist/source/Commands/CommandObjectSettings.cpp
  vendor/lldb/dist/source/Commands/CommandObjectType.cpp
  vendor/lldb/dist/source/Commands/CommandObjectWatchpoint.cpp
  vendor/lldb/dist/source/Commands/CommandObjectWatchpointCommand.cpp
  vendor/lldb/dist/source/Core/ArchSpec.cpp
  vendor/lldb/dist/source/Core/DataExtractor.cpp
  vendor/lldb/dist/source/Core/FormatEntity.cpp
  vendor/lldb/dist/source/Core/Mangled.cpp
  vendor/lldb/dist/source/Core/StructuredData.cpp
  vendor/lldb/dist/source/DataFormatters/FormatManager.cpp
  vendor/lldb/dist/source/DataFormatters/VectorType.cpp
  vendor/lldb/dist/source/Expression/ClangExpressionDeclMap.cpp
  vendor/lldb/dist/source/Expression/ClangExpressionParser.cpp
  vendor/lldb/dist/source/Expression/ClangModulesDeclVendor.cpp
  vendor/lldb/dist/source/Expression/ClangUserExpression.cpp
  vendor/lldb/dist/source/Expression/IRExecutionUnit.cpp
  vendor/lldb/dist/source/Expression/IRForTarget.cpp
  vendor/lldb/dist/source/Expression/IRInterpreter.cpp
  vendor/lldb/dist/source/Expression/IRMemoryMap.cpp
  vendor/lldb/dist/source/Host/common/Host.cpp
  vendor/lldb/dist/source/Host/common/NativeProcessProtocol.cpp
  vendor/lldb/dist/source/Host/common/StringConvert.cpp
  vendor/lldb/dist/source/Host/freebsd/Host.cpp
  vendor/lldb/dist/source/Initialization/SystemInitializerCommon.cpp
  vendor/lldb/dist/source/Interpreter/CommandObject.cpp
  vendor/lldb/dist/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp
  vendor/lldb/dist/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp
  vendor/lldb/dist/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
  vendor/lldb/dist/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
  vendor/lldb/dist/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
  vendor/lldb/dist/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
  vendor/lldb/dist/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
  vendor/lldb/dist/source/Plugins/Platform/POSIX/PlatformPOSIX.h
  vendor/lldb/dist/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
  vendor/lldb/dist/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
  vendor/lldb/dist/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp
  vendor/lldb/dist/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp
  vendor/lldb/dist/source/Plugins/Process/FreeBSD/ProcessPOSIX.h
  vendor/lldb/dist/source/Plugins/Process/Utility/FreeBSDSignals.cpp
  vendor/lldb/dist/source/Plugins/Process/Utility/FreeBSDSignals.h
  vendor/lldb/dist/source/Plugins/Process/Utility/LinuxSignals.cpp
  vendor/lldb/dist/source/Plugins/Process/Utility/LinuxSignals.h
  vendor/lldb/dist/source/Plugins/Process/Utility/MipsLinuxSignals.cpp
  vendor/lldb/dist/source/Plugins/Process/Utility/MipsLinuxSignals.h
  vendor/lldb/dist/source/Plugins/Process/Utility/UnwindLLDB.cpp
  vendor/lldb/dist/source/Plugins/Process/Utility/UnwindLLDB.h
  vendor/lldb/dist/source/Plugins/Process/elf-core/ProcessElfCore.cpp
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp
  vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
  vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
  vendor/lldb/dist/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
  vendor/lldb/dist/source/Symbol/ClangASTContext.cpp
  vendor/lldb/dist/source/Symbol/ClangASTImporter.cpp
  vendor/lldb/dist/source/Symbol/ClangASTType.cpp
  vendor/lldb/dist/source/Symbol/Function.cpp
  vendor/lldb/dist/source/Symbol/Symbol.cpp
  vendor/lldb/dist/source/Symbol/SymbolContext.cpp
  vendor/lldb/dist/source/Symbol/Symtab.cpp
  vendor/lldb/dist/source/Symbol/Variable.cpp
  vendor/lldb/dist/source/Target/Platform.cpp
  vendor/lldb/dist/source/Target/Process.cpp
  vendor/lldb/dist/source/Target/ProcessLaunchInfo.cpp
  vendor/lldb/dist/source/Target/StopInfo.cpp
  vendor/lldb/dist/source/Target/ThreadPlanCallFunction.cpp
  vendor/lldb/dist/source/Target/ThreadPlanStepOverRange.cpp
  vendor/lldb/dist/source/Target/UnixSignals.cpp
  vendor/lldb/dist/source/Utility/JSON.cpp
  vendor/lldb/dist/source/Utility/StringExtractor.cpp
  vendor/lldb/dist/source/Utility/StringExtractorGDBRemote.cpp
  vendor/lldb/dist/source/Utility/StringExtractorGDBRemote.h
  vendor/lldb/dist/tools/driver/Driver.cpp
  vendor/lldb/dist/tools/driver/Driver.h
  vendor/lldb/dist/tools/lldb-mi/MICmdArgSet.h
  vendor/lldb/dist/tools/lldb-mi/MICmdArgValBase.h
  vendor/lldb/dist/tools/lldb-mi/MICmdArgValConsume.h
  vendor/lldb/dist/tools/lldb-mi/MICmdArgValFile.h
  vendor/lldb/dist/tools/lldb-mi/MICmdArgValListBase.h
  vendor/lldb/dist/tools/lldb-mi/MICmdArgValListOfN.h
  vendor/lldb/dist/tools/lldb-mi/MICmdArgValNumber.h
  vendor/lldb/dist/tools/lldb-mi/MICmdArgValOptionLong.h
  vendor/lldb/dist/tools/lldb-mi/MICmdArgValOptionShort.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmdArgValOptionShort.h
  vendor/lldb/dist/tools/lldb-mi/MICmdArgValPrintValues.h
  vendor/lldb/dist/tools/lldb-mi/MICmdArgValString.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmdArgValString.h
  vendor/lldb/dist/tools/lldb-mi/MICmdArgValThreadGrp.h
  vendor/lldb/dist/tools/lldb-mi/MICmdBase.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmdBase.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmd.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdBreak.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdBreak.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdData.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdData.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdEnviro.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdExec.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdFile.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdGdbInfo.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdGdbSet.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdGdbShow.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdGdbThread.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdMiscellanous.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdMiscellanous.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdStack.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdSupportInfo.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdSupportList.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdSymbol.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdTarget.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdThread.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdTrace.h
  vendor/lldb/dist/tools/lldb-mi/MICmdCmdVar.h
  vendor/lldb/dist/tools/lldb-mi/MICmdFactory.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmdFactory.h
  vendor/lldb/dist/tools/lldb-mi/MICmdInterpreter.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmdInterpreter.h
  vendor/lldb/dist/tools/lldb-mi/MICmdInvoker.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmdInvoker.h
  vendor/lldb/dist/tools/lldb-mi/MICmdMgr.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmdMgr.h
  vendor/lldb/dist/tools/lldb-mi/MICmdMgrSetCmdDeleteCallback.h
  vendor/lldb/dist/tools/lldb-mi/MICmnBase.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBBroadcaster.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBBroadcaster.h
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebugSessionInfo.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebugSessionInfo.h
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebugSessionInfoVarObj.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebugSessionInfoVarObj.h
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebugger.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebugger.h
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.h
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBProxySBValue.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBProxySBValue.h
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBUtilSBValue.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmnLLDBUtilSBValue.h
  vendor/lldb/dist/tools/lldb-mi/MICmnLog.h
  vendor/lldb/dist/tools/lldb-mi/MICmnLogMediumFile.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmnLogMediumFile.h
  vendor/lldb/dist/tools/lldb-mi/MICmnMIOutOfBandRecord.h
  vendor/lldb/dist/tools/lldb-mi/MICmnMIResultRecord.h
  vendor/lldb/dist/tools/lldb-mi/MICmnMIValue.h
  vendor/lldb/dist/tools/lldb-mi/MICmnMIValueConst.h
  vendor/lldb/dist/tools/lldb-mi/MICmnMIValueList.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmnMIValueList.h
  vendor/lldb/dist/tools/lldb-mi/MICmnMIValueResult.h
  vendor/lldb/dist/tools/lldb-mi/MICmnMIValueTuple.h
  vendor/lldb/dist/tools/lldb-mi/MICmnResources.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmnResources.h
  vendor/lldb/dist/tools/lldb-mi/MICmnStreamStderr.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmnStreamStderr.h
  vendor/lldb/dist/tools/lldb-mi/MICmnStreamStdin.h
  vendor/lldb/dist/tools/lldb-mi/MICmnStreamStdout.cpp
  vendor/lldb/dist/tools/lldb-mi/MICmnStreamStdout.h
  vendor/lldb/dist/tools/lldb-mi/MICmnThreadMgrStd.h
  vendor/lldb/dist/tools/lldb-mi/MIDataTypes.h
  vendor/lldb/dist/tools/lldb-mi/MIDriver.cpp
  vendor/lldb/dist/tools/lldb-mi/MIDriver.h
  vendor/lldb/dist/tools/lldb-mi/MIDriverBase.cpp
  vendor/lldb/dist/tools/lldb-mi/MIDriverMain.cpp
  vendor/lldb/dist/tools/lldb-mi/MIDriverMgr.h
  vendor/lldb/dist/tools/lldb-mi/MIUtilFileStd.h
  vendor/lldb/dist/tools/lldb-mi/MIUtilMapIdToVariant.h
  vendor/lldb/dist/tools/lldb-mi/MIUtilSingletonBase.h
  vendor/lldb/dist/tools/lldb-mi/MIUtilSingletonHelper.h
  vendor/lldb/dist/tools/lldb-mi/MIUtilString.h
  vendor/lldb/dist/tools/lldb-mi/MIUtilSystemLinux.cpp
  vendor/lldb/dist/tools/lldb-mi/MIUtilSystemOsx.cpp
  vendor/lldb/dist/tools/lldb-mi/MIUtilSystemWindows.cpp
  vendor/lldb/dist/tools/lldb-mi/MIUtilThreadBaseStd.cpp
  vendor/lldb/dist/tools/lldb-mi/MIUtilVariant.h
  vendor/lldb/dist/tools/lldb-server/lldb-gdbserver.cpp
  vendor/lldb/dist/tools/lldb-server/lldb-platform.cpp

Modified: vendor/lldb/dist/include/lldb/API/SBFrame.h
==============================================================================
--- vendor/lldb/dist/include/lldb/API/SBFrame.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/API/SBFrame.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -90,6 +90,10 @@ public:
     /// See also IsInlined().
     const char *
     GetFunctionName();
+    
+    // Get an appropriate function name for this frame that is suitable for display to a user
+    const char *
+    GetDisplayFunctionName ();
 
     const char *
     GetFunctionName() const;

Modified: vendor/lldb/dist/include/lldb/API/SBFunction.h
==============================================================================
--- vendor/lldb/dist/include/lldb/API/SBFunction.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/API/SBFunction.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -36,6 +36,9 @@ public:
     GetName() const;
 
     const char *
+    GetDisplayName() const;
+    
+    const char *
     GetMangledName () const;
 
     lldb::SBInstructionList

Modified: vendor/lldb/dist/include/lldb/API/SBPlatform.h
==============================================================================
--- vendor/lldb/dist/include/lldb/API/SBPlatform.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/API/SBPlatform.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -189,6 +189,9 @@ namespace lldb {
         SBError
         SetFilePermissions (const char *path, uint32_t file_permissions);
 
+        SBUnixSignals
+        GetUnixSignals() const;
+
     protected:
         
         friend class SBDebugger;

Modified: vendor/lldb/dist/include/lldb/API/SBSymbol.h
==============================================================================
--- vendor/lldb/dist/include/lldb/API/SBSymbol.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/API/SBSymbol.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -38,6 +38,9 @@ public:
     GetName() const;
 
     const char *
+    GetDisplayName() const;
+    
+    const char *
     GetMangledName () const;
 
     lldb::SBInstructionList

Modified: vendor/lldb/dist/include/lldb/API/SBTarget.h
==============================================================================
--- vendor/lldb/dist/include/lldb/API/SBTarget.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/API/SBTarget.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -769,6 +769,9 @@ public:
     GetDescription (lldb::SBStream &description, lldb::DescriptionLevel description_level);
 
     lldb::SBValue
+    EvaluateExpression (const char *expr);
+
+    lldb::SBValue
     EvaluateExpression (const char *expr, const SBExpressionOptions &options);
 
     lldb::addr_t

Modified: vendor/lldb/dist/include/lldb/API/SBUnixSignals.h
==============================================================================
--- vendor/lldb/dist/include/lldb/API/SBUnixSignals.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/API/SBUnixSignals.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -65,17 +65,20 @@ public:
 
 protected:
     friend class SBProcess;
+    friend class SBPlatform;
 
-    SBUnixSignals (lldb::ProcessSP &process_sp);
+    SBUnixSignals(lldb::ProcessSP &process_sp);
 
-    lldb::ProcessSP
+    SBUnixSignals(lldb::PlatformSP &platform_sp);
+
+    lldb::UnixSignalsSP
     GetSP() const;
 
     void
-    SetSP (const lldb::ProcessSP &process_sp);
+    SetSP(const lldb::UnixSignalsSP &signals_sp);
 
 private:
-    lldb::ProcessWP m_opaque_wp;
+    lldb::UnixSignalsWP m_opaque_wp;
 };
 
 

Modified: vendor/lldb/dist/include/lldb/Core/Connection.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Core/Connection.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Core/Connection.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -187,6 +187,20 @@ public:
     virtual bool
     InterruptRead() = 0;
 
+    //------------------------------------------------------------------
+    /// Returns the underlying IOObject used by the Connection.
+    ///
+    /// The IOObject can be used to wait for data to become available
+    /// on the connection. If the Connection does not use IOObjects (and
+    /// hence does not support waiting) this function should return a
+    /// null pointer.
+    ///
+    /// @return
+    ///     The underlying IOObject used for reading.
+    //------------------------------------------------------------------
+    virtual lldb::IOObjectSP
+    GetReadObject() { return lldb::IOObjectSP(); }
+
 private:
     //------------------------------------------------------------------
     // For Connection only

Modified: vendor/lldb/dist/include/lldb/Core/Mangled.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Core/Mangled.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Core/Mangled.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -182,8 +182,17 @@ public:
     ///     A const reference to the demangled name string object.
     //----------------------------------------------------------------------
     const ConstString&
-    GetDemangledName () const;
+    GetDemangledName (lldb::LanguageType language) const;
 
+    //----------------------------------------------------------------------
+    /// Display demangled name get accessor.
+    ///
+    /// @return
+    ///     A const reference to the display demangled name string object.
+    //----------------------------------------------------------------------
+    ConstString
+    GetDisplayDemangledName (lldb::LanguageType language) const;
+    
     void
     SetDemangledName (const ConstString &name)
     {
@@ -231,8 +240,8 @@ public:
     ///     object has a valid name of that kind, else a const reference to the
     ///     other name is returned.
     //----------------------------------------------------------------------
-    const ConstString&
-    GetName (NamePreference preference = ePreferDemangled) const;
+    ConstString
+    GetName (lldb::LanguageType language, NamePreference preference = ePreferDemangled) const;
 
     //----------------------------------------------------------------------
     /// Check if "name" matches either the mangled or demangled name.
@@ -244,15 +253,15 @@ public:
     ///     \b True if \a name matches either name, \b false otherwise.
     //----------------------------------------------------------------------
     bool
-    NameMatches (const ConstString &name) const
+    NameMatches (const ConstString &name, lldb::LanguageType language) const
     {
         if (m_mangled == name)
             return true;
-        return GetDemangledName () == name;
+        return GetDemangledName (language) == name;
     }
     
     bool
-    NameMatches (const RegularExpression& regex) const;
+    NameMatches (const RegularExpression& regex, lldb::LanguageType language) const;
 
     //----------------------------------------------------------------------
     /// Get the memory cost of this object.

Modified: vendor/lldb/dist/include/lldb/Core/StructuredData.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Core/StructuredData.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Core/StructuredData.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -238,14 +238,15 @@ public:
         {
         }
 
-        void
+        bool
         ForEach (std::function <bool(Object* object)> const &foreach_callback) const
         {
             for (const auto &object_sp : m_items)
             {
                 if (foreach_callback(object_sp.get()) == false)
-                    break;
+                    return false;
             }
+            return true;
         }
 
 

Modified: vendor/lldb/dist/include/lldb/DataFormatters/CXXFormatterFunctions.h
==============================================================================
--- vendor/lldb/dist/include/lldb/DataFormatters/CXXFormatterFunctions.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/DataFormatters/CXXFormatterFunctions.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -18,6 +18,7 @@
 #include "lldb/Core/ConstString.h"
 #include "lldb/DataFormatters/FormatClasses.h"
 #include "lldb/DataFormatters/TypeSynthetic.h"
+#include "lldb/DataFormatters/VectorType.h"
 #include "lldb/Target/ExecutionContext.h"
 #include "lldb/Target/ObjCLanguageRuntime.h"
 #include "lldb/Target/Target.h"

Modified: vendor/lldb/dist/include/lldb/DataFormatters/VectorType.h
==============================================================================
--- vendor/lldb/dist/include/lldb/DataFormatters/VectorType.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/DataFormatters/VectorType.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -0,0 +1,28 @@
+//===-- VectorType.h ------------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef liblldb_VectorType_h_
+#define liblldb_VectorType_h_
+
+#include "lldb/lldb-forward.h"
+
+namespace lldb_private {
+    namespace formatters
+    {
+        bool
+        VectorTypeSummaryProvider (ValueObject&,
+                                   Stream&,
+                                   const TypeSummaryOptions&);
+
+        SyntheticChildrenFrontEnd*
+        VectorTypeSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP);
+    } // namespace formatters
+} // namespace lldb_private
+
+#endif // liblldb_VectorType_h_

Modified: vendor/lldb/dist/include/lldb/Expression/ClangUserExpression.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Expression/ClangUserExpression.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Expression/ClangUserExpression.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -30,7 +30,7 @@
 #include "lldb/Symbol/TaggedASTType.h"
 #include "lldb/Target/ExecutionContext.h"
 
-namespace lldb_private 
+namespace lldb_private
 {
 
 //----------------------------------------------------------------------
@@ -45,7 +45,7 @@ namespace lldb_private 
 class ClangUserExpression : public ClangExpression
 {
 public:
-   
+
     enum { kDefaultTimeout = 500000u };
     //------------------------------------------------------------------
     /// Constructor
@@ -59,7 +59,7 @@ public:
     ///
     /// @param[in] language
     ///     If not eLanguageTypeUnknown, a language to use when parsing
-    ///     the expression.  Currently restricted to those languages 
+    ///     the expression.  Currently restricted to those languages
     ///     supported by Clang.
     ///
     /// @param[in] desired_type
@@ -70,13 +70,13 @@ public:
                          const char *expr_prefix,
                          lldb::LanguageType language,
                          ResultType desired_type);
-    
+
     //------------------------------------------------------------------
     /// Destructor
     //------------------------------------------------------------------
-    virtual 
+    virtual
     ~ClangUserExpression ();
-    
+
     //------------------------------------------------------------------
     /// Parse the expression
     ///
@@ -92,28 +92,28 @@ public:
     ///     Determines whether interpretation is possible or mandatory.
     ///
     /// @param[in] keep_result_in_memory
-    ///     True if the resulting persistent variable should reside in 
+    ///     True if the resulting persistent variable should reside in
     ///     target memory, if applicable.
     ///
     /// @return
     ///     True on success (no errors); false otherwise.
     //------------------------------------------------------------------
     bool
-    Parse (Stream &error_stream, 
+    Parse (Stream &error_stream,
            ExecutionContext &exe_ctx,
            lldb_private::ExecutionPolicy execution_policy,
            bool keep_result_in_memory,
            bool generate_debug_info);
-    
+
     bool
     CanInterpret ()
     {
         return m_can_interpret;
     }
-    
+
     bool
     MatchesContext (ExecutionContext &exe_ctx);
-    
+
     //------------------------------------------------------------------
     /// Execute the parsed expression
     ///
@@ -131,9 +131,9 @@ public:
     ///     This is a shared pointer to this ClangUserExpression.  This is
     ///     needed because Execute can push a thread plan that will hold onto
     ///     the ClangUserExpression for an unbounded period of time.  So you
-    ///     need to give the thread plan a reference to this object that can 
+    ///     need to give the thread plan a reference to this object that can
     ///     keep it alive.
-    /// 
+    ///
     /// @param[in] result
     ///     A pointer to direct at the persistent variable in which the
     ///     expression's result is stored.
@@ -147,7 +147,7 @@ public:
              const EvaluateExpressionOptions& options,
              lldb::ClangUserExpressionSP &shared_ptr_to_me,
              lldb::ClangExpressionVariableSP &result);
-             
+
     //------------------------------------------------------------------
     /// Apply the side effects of the function to program state.
     ///
@@ -157,7 +157,7 @@ public:
     /// @param[in] exe_ctx
     ///     The execution context to use when looking up entities that
     ///     are needed for parsing (locations of variables, etc.)
-    /// 
+    ///
     /// @param[in] result
     ///     A pointer to direct at the persistent variable in which the
     ///     expression's result is stored.
@@ -177,7 +177,7 @@ public:
                           lldb::ClangExpressionVariableSP &result,
                           lldb::addr_t function_stack_bottom = LLDB_INVALID_ADDRESS,
                           lldb::addr_t function_stack_top = LLDB_INVALID_ADDRESS);
-    
+
     //------------------------------------------------------------------
     /// Return the string that the parser should parse.  Must be a full
     /// translation unit.
@@ -187,7 +187,7 @@ public:
     {
         return m_transformed_text.c_str();
     }
-    
+
     //------------------------------------------------------------------
     /// Return the string that the user typed.
     //------------------------------------------------------------------
@@ -196,7 +196,7 @@ public:
     {
         return m_expr_text.c_str();
     }
-    
+
     //------------------------------------------------------------------
     /// Return the function name that should be used for executing the
     /// expression.  Text() should contain the definition of this
@@ -207,7 +207,7 @@ public:
     {
         return "$__lldb_expr";
     }
-    
+
     //------------------------------------------------------------------
     /// Return the language that should be used when parsing.  To use
     /// the default, return eLanguageTypeUnknown.
@@ -217,7 +217,7 @@ public:
     {
         return m_language;
     }
-    
+
     //------------------------------------------------------------------
     /// Return the object that the parser should use when resolving external
     /// values.  May be NULL if everything should be self-contained.
@@ -227,7 +227,7 @@ public:
     {
         return m_expr_decl_map.get();
     }
-    
+
     //------------------------------------------------------------------
     /// Return the object that the parser should allow to access ASTs.
     /// May be NULL if the ASTs do not need to be transformed.
@@ -238,9 +238,9 @@ public:
     //------------------------------------------------------------------
     clang::ASTConsumer *
     ASTTransformer (clang::ASTConsumer *passthrough);
-    
+
     //------------------------------------------------------------------
-    /// Return the desired result type of the function, or 
+    /// Return the desired result type of the function, or
     /// eResultTypeAny if indifferent.
     //------------------------------------------------------------------
     virtual ResultType
@@ -248,7 +248,7 @@ public:
     {
         return m_desired_type;
     }
-    
+
     //------------------------------------------------------------------
     /// Return true if validation code should be inserted into the
     /// expression.
@@ -258,7 +258,7 @@ public:
     {
         return true;
     }
-    
+
     //------------------------------------------------------------------
     /// Return true if external variables in the expression should be
     /// resolved.
@@ -302,15 +302,15 @@ public:
               const char *expr_prefix,
               lldb::ValueObjectSP &result_valobj_sp,
               Error &error);
-    
+
     static const Error::ValueType kNoResult = 0x1001; ///< ValueObject::GetError() returns this if there is no result from the expression.
 private:
     //------------------------------------------------------------------
     /// Populate m_in_cplusplus_method and m_in_objectivec_method based on the environment.
     //------------------------------------------------------------------
-    
+
     void
-    ScanContext (ExecutionContext &exe_ctx, 
+    ScanContext (ExecutionContext &exe_ctx,
                  lldb_private::Error &err);
 
     bool
@@ -319,21 +319,21 @@ private:
                                    lldb::addr_t &struct_address,
                                    lldb::addr_t &object_ptr,
                                    lldb::addr_t &cmd_ptr);
-    
+
     void
     InstallContext (ExecutionContext &exe_ctx);
-    
+
     bool
     LockAndCheckContext (ExecutionContext &exe_ctx,
                          lldb::TargetSP &target_sp,
                          lldb::ProcessSP &process_sp,
                          lldb::StackFrameSP &frame_sp);
-    
+
     lldb::ProcessWP                             m_process_wp;           ///< The process used as the context for the expression.
     Address                                     m_address;              ///< The address the process is stopped in.
     lldb::addr_t                                m_stack_frame_bottom;   ///< The bottom of the allocated stack frame.
     lldb::addr_t                                m_stack_frame_top;      ///< The top of the allocated stack frame.
-    
+
     std::string                                 m_expr_text;            ///< The text of the expression, as typed by the user
     std::string                                 m_expr_prefix;          ///< The text of the translation-level definitions, as provided by the user
     lldb::LanguageType                          m_language;             ///< The language to use when parsing (eLanguageTypeUnknown means use defaults)
@@ -341,7 +341,7 @@ private:
     bool                                        m_allow_objc;           ///< True if the language allows Objective-C.
     std::string                                 m_transformed_text;     ///< The text of the expression, as send to the parser
     ResultType                                  m_desired_type;         ///< The type to coerce the expression's result to.  If eResultTypeAny, inferred from the expression.
-    
+
     std::unique_ptr<ClangExpressionDeclMap>     m_expr_decl_map;        ///< The map to use when parsing the expression.
     std::shared_ptr<IRExecutionUnit>            m_execution_unit_sp;    ///< The execution unit the expression is stored in.
     std::unique_ptr<Materializer>               m_materializer_ap;      ///< The materializer to use when running the expression.
@@ -354,12 +354,12 @@ private:
     bool                                        m_needs_object_ptr;     ///< True if "this" or "self" must be looked up and passed in.  False if the expression doesn't really use them and they can be NULL.
     bool                                        m_const_object;         ///< True if "this" is const.
     Target                                     *m_target;               ///< The target for storing persistent data like types and variables.
-    
+
     bool                                        m_can_interpret;        ///< True if the expression could be evaluated statically; false otherwise.
     lldb::addr_t                                m_materialized_address; ///< The address at which the arguments to the expression have been materialized.
     Materializer::DematerializerSP              m_dematerializer_sp;    ///< The dematerializer.
 };
-    
+
 } // namespace lldb_private
 
 #endif  // liblldb_ClangUserExpression_h_

Modified: vendor/lldb/dist/include/lldb/Expression/IRInterpreter.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Expression/IRInterpreter.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Expression/IRInterpreter.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -44,7 +44,8 @@ public:
     static bool
     CanInterpret (llvm::Module &module,
                   llvm::Function &function,
-                  lldb_private::Error &error);
+                  lldb_private::Error &error,
+                  const bool support_function_calls);
     
     static bool
     Interpret (llvm::Module &module,
@@ -53,7 +54,8 @@ public:
                lldb_private::IRMemoryMap &memory_map,
                lldb_private::Error &error,
                lldb::addr_t stack_frame_bottom,
-               lldb::addr_t stack_frame_top);
+               lldb::addr_t stack_frame_top,
+               lldb_private::ExecutionContext &exe_ctx);
     
 private:   
     static bool

Modified: vendor/lldb/dist/include/lldb/Expression/IRMemoryMap.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Expression/IRMemoryMap.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Expression/IRMemoryMap.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -60,7 +60,7 @@ public:
     void ReadMemory (uint8_t *bytes, lldb::addr_t process_address, size_t size, Error &error);
     void ReadScalarFromMemory (Scalar &scalar, lldb::addr_t process_address, size_t size, Error &error);
     void ReadPointerFromMemory (lldb::addr_t *address, lldb::addr_t process_address, Error &error);
-    
+    bool GetAllocSize(lldb::addr_t address, size_t &size);
     void GetMemoryData (DataExtractor &extractor, lldb::addr_t process_address, size_t size, Error &error);
     
     lldb::ByteOrder GetByteOrder();

Modified: vendor/lldb/dist/include/lldb/Host/Host.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/Host.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Host/Host.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -244,8 +244,8 @@ public:
 #endif // !defined(__ANDROID__) && !defined(__ANDROID_NDK__)
 #endif // defined (__APPLE__) || defined (__linux__) || defined (__FreeBSD__) || defined (__GLIBC__) || defined(__NetBSD__)
 
-    static const lldb_private::UnixSignalsSP&
-    GetUnixSignals ();
+    static const lldb::UnixSignalsSP &
+    GetUnixSignals();
 
     static Error
     LaunchProcess (ProcessLaunchInfo &launch_info);

Added: vendor/lldb/dist/include/lldb/Host/MainLoop.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/lldb/dist/include/lldb/Host/MainLoop.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -0,0 +1,27 @@
+//===-- MainLoop.h ----------------------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef lldb_Host_MainLoop_h_
+#define lldb_Host_MainLoop_h_
+
+#ifdef _WIN32
+#include "lldb/Host/MainLoopBase.h"
+namespace lldb_private
+{
+typedef MainLoopBase MainLoop;
+}
+#else
+#include "lldb/Host/posix/MainLoopPosix.h"
+namespace lldb_private
+{
+typedef MainLoopPosix MainLoop;
+}
+#endif
+
+#endif // lldb_Host_MainLoop_h_

Added: vendor/lldb/dist/include/lldb/Host/MainLoopBase.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/lldb/dist/include/lldb/Host/MainLoopBase.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -0,0 +1,94 @@
+//===-- MainLoopBase.h ------------------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef lldb_Host_posix_MainLoopBase_h_
+#define lldb_Host_posix_MainLoopBase_h_
+
+#include <functional>
+
+#include "llvm/Support/ErrorHandling.h"
+
+#include "lldb/Core/Error.h"
+#include "lldb/Host/IOObject.h"
+
+namespace lldb_private {
+
+// The purpose of this class is to enable multiplexed processing of data from different sources
+// without resorting to multi-threading. Clients can register IOObjects, which will be monitored
+// for readability, and when they become ready, the specified callback will be invoked.
+// Monitoring for writability is not supported, but can be easily added if needed.
+//
+// The RegisterReadObject function return a handle, which controls the duration of the monitoring. When
+// this handle is destroyed, the callback is deregistered.
+//
+// This class simply defines the interface common for all platforms, actual implementations are
+// platform-specific.
+class MainLoopBase
+{
+private:
+    class ReadHandle;
+
+public:
+    MainLoopBase() { }
+    virtual ~MainLoopBase() { }
+
+    typedef std::unique_ptr<ReadHandle> ReadHandleUP;
+
+    typedef std::function<void(MainLoopBase &)> Callback;
+
+    virtual ReadHandleUP
+    RegisterReadObject(const lldb::IOObjectSP &object_sp, const Callback &callback, Error &error)
+    { llvm_unreachable("Not implemented"); }
+
+    // Waits for registered events and invoke the proper callbacks. Returns when all callbacks
+    // deregister themselves or when someone requests termination.
+    virtual Error
+    Run()
+    { llvm_unreachable("Not implemented"); }
+
+    // Requests the exit of the Run() function.
+    virtual void
+    RequestTermination()
+    { llvm_unreachable("Not implemented"); }
+
+protected:
+    ReadHandleUP
+    CreateReadHandle(const lldb::IOObjectSP &object_sp)
+    { return ReadHandleUP(new ReadHandle(*this, object_sp)); }
+
+    virtual void
+    UnregisterReadObject(const lldb::IOObjectSP &object_sp)
+    { llvm_unreachable("Not implemented"); }
+
+private:
+    class ReadHandle
+    {
+    public:
+        ~ReadHandle() { m_mainloop.UnregisterReadObject(m_object_sp); }
+
+    private:
+        ReadHandle(MainLoopBase &mainloop, const lldb::IOObjectSP &object_sp)
+            : m_mainloop(mainloop), m_object_sp(object_sp)
+        { }
+
+        MainLoopBase &m_mainloop;
+        lldb::IOObjectSP m_object_sp;
+
+        friend class MainLoopBase;
+        DISALLOW_COPY_AND_ASSIGN(ReadHandle);
+    };
+
+private:
+    DISALLOW_COPY_AND_ASSIGN(MainLoopBase);
+};
+
+} // namespace lldb_private
+
+
+#endif // lldb_Host_posix_MainLoopBase_h_

Modified: vendor/lldb/dist/include/lldb/Host/StringConvert.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/StringConvert.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Host/StringConvert.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -39,6 +39,8 @@ ToSInt64 (const char *s, int64_t fail_va
 uint64_t
 ToUInt64 (const char *s, uint64_t fail_value = 0, int base = 0, bool *success_ptr = nullptr);
 
+double
+ToDouble (const char *s, double fail_value = 0.0, bool *success_ptr = nullptr);
 } // namespace StringConvert
 } // namespace lldb_private
 

Modified: vendor/lldb/dist/include/lldb/Host/common/NativeProcessProtocol.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/common/NativeProcessProtocol.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Host/common/NativeProcessProtocol.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -35,8 +35,6 @@ namespace lldb_private
         friend class SoftwareBreakpoint;
 
     public:
-        static NativeProcessProtocol *
-        CreateInstance (lldb::pid_t pid);
 
         // lldb_private::Host calls should be used to launch a process for debugging, and
         // then the process should be attached to. When attaching to a process
@@ -44,7 +42,6 @@ namespace lldb_private
         // and then this function should be called.
         NativeProcessProtocol (lldb::pid_t pid);
 
-    public:
         virtual ~NativeProcessProtocol ()
         {
         }
@@ -297,6 +294,62 @@ namespace lldb_private
         virtual Error
         GetFileLoadAddress(const llvm::StringRef& file_name, lldb::addr_t& load_addr) = 0;
 
+        //------------------------------------------------------------------
+        /// Launch a process for debugging. This method will create an concrete
+        /// instance of NativeProcessProtocol, based on the host platform.
+        /// (e.g. NativeProcessLinux on linux, etc.)
+        ///
+        /// @param[in] launch_info
+        ///     Information required to launch the process.
+        ///
+        /// @param[in] native_delegate
+        ///     The delegate that will receive messages regarding the
+        ///     inferior.  Must outlive the NativeProcessProtocol
+        ///     instance.
+        ///
+        /// @param[out] process_sp
+        ///     On successful return from the method, this parameter
+        ///     contains the shared pointer to the
+        ///     NativeProcessProtocol that can be used to manipulate
+        ///     the native process.
+        ///
+        /// @return
+        ///     An error object indicating if the operation succeeded,
+        ///     and if not, what error occurred.
+        //------------------------------------------------------------------
+        static Error
+        Launch (ProcessLaunchInfo &launch_info,
+                NativeDelegate &native_delegate,
+                NativeProcessProtocolSP &process_sp);
+
+        //------------------------------------------------------------------
+        /// Attach to an existing process. This method will create an concrete
+        /// instance of NativeProcessProtocol, based on the host platform.
+        /// (e.g. NativeProcessLinux on linux, etc.)
+        ///
+        /// @param[in] pid
+        ///     pid of the process locatable
+        ///
+        /// @param[in] native_delegate
+        ///     The delegate that will receive messages regarding the
+        ///     inferior.  Must outlive the NativeProcessProtocol
+        ///     instance.
+        ///
+        /// @param[out] process_sp
+        ///     On successful return from the method, this parameter
+        ///     contains the shared pointer to the
+        ///     NativeProcessProtocol that can be used to manipulate
+        ///     the native process.
+        ///
+        /// @return
+        ///     An error object indicating if the operation succeeded,
+        ///     and if not, what error occurred.
+        //------------------------------------------------------------------
+        static Error
+        Attach (lldb::pid_t pid,
+                NativeDelegate &native_delegate,
+                NativeProcessProtocolSP &process_sp);
+
     protected:
         lldb::pid_t m_pid;
 

Modified: vendor/lldb/dist/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -59,12 +59,7 @@ class ConnectionFileDescriptor : public 
     bool InterruptRead() override;
 
     lldb::IOObjectSP
-    GetReadObject()
-    {
-        return m_read_sp;
-    }
-    const lldb::IOObjectSP
-    GetReadObject() const
+    GetReadObject() override
     {
         return m_read_sp;
     }

Added: vendor/lldb/dist/include/lldb/Host/posix/MainLoopPosix.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/lldb/dist/include/lldb/Host/posix/MainLoopPosix.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -0,0 +1,100 @@
+//===-- MainLoopPosix.h -----------------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef lldb_Host_posix_MainLoopPosix_h_
+#define lldb_Host_posix_MainLoopPosix_h_
+
+#include "lldb/Host/MainLoopBase.h"
+
+#include "llvm/ADT/DenseMap.h"
+
+namespace lldb_private {
+
+// Posix implementation of the MainLoopBase class. It can monitor file descriptors for
+// readability using pselect. In addition to the common base, this class provides the ability to
+// invoke a given handler when a signal is received.
+//
+// Since this class is primarily intended to be used for single-threaded processing, it does not
+// attempt to perform any internal synchronisation and any concurrent accesses must be protected
+// externally. However, it is perfectly legitimate to have more than one instance of this class
+// running on separate threads, or even a single thread (with some limitations on signal
+// monitoring).
+// TODO: Add locking if this class is to be used in a multi-threaded context.
+class MainLoopPosix: public MainLoopBase
+{
+private:
+    class SignalHandle;
+
+public:
+    typedef std::unique_ptr<SignalHandle> SignalHandleUP;
+
+    ~MainLoopPosix() override;
+
+    ReadHandleUP
+    RegisterReadObject(const lldb::IOObjectSP &object_sp, const Callback &callback, Error &error) override;
+
+    // Listening for signals from multiple MainLoopPosix instances is perfectly safe as long as they
+    // don't try to listen for the same signal. The callback function is invoked when the control
+    // returns to the Run() function, not when the hander is executed. This means that you can
+    // treat the callback as a normal function and perform things which would not be safe in a
+    // signal handler. However, since the callback is not invoked synchronously, you cannot use
+    // this mechanism to handle SIGSEGV and the like.
+    SignalHandleUP
+    RegisterSignal(int signo, const Callback &callback, Error &error);
+
+    Error
+    Run() override;
+
+    // This should only be performed from a callback. Do not attempt to terminate the processing
+    // from another thread.
+    // TODO: Add synchronization if we want to be terminated from another thread.
+    void
+    RequestTermination() override
+    { m_terminate_request = true; }
+
+protected:
+    void
+    UnregisterReadObject(const lldb::IOObjectSP &object_sp) override;
+
+    void
+    UnregisterSignal(int signo);
+
+private:
+    class SignalHandle
+    {
+    public:
+        ~SignalHandle() { m_mainloop.UnregisterSignal(m_signo); }
+
+    private:
+        SignalHandle(MainLoopPosix &mainloop, int signo) : m_mainloop(mainloop), m_signo(signo) { }
+
+        MainLoopPosix &m_mainloop;
+        int m_signo;
+
+        friend class MainLoopPosix;
+        DISALLOW_COPY_AND_ASSIGN(SignalHandle);
+    };
+
+    struct SignalInfo
+    {
+        Callback callback;
+        struct sigaction old_action;
+        bool was_blocked : 1;
+    };
+
+    llvm::DenseMap<IOObject::WaitableHandle, Callback> m_read_fds;
+    llvm::DenseMap<int, SignalInfo> m_signals;
+    bool m_terminate_request : 1;
+};
+
+} // namespace lldb_private
+
+
+#endif // lldb_Host_posix_MainLoopPosix_h_
+

Modified: vendor/lldb/dist/include/lldb/Interpreter/CommandObject.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Interpreter/CommandObject.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Interpreter/CommandObject.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -161,6 +161,9 @@ public:
     }
 
     void
+    FormatLongHelpText (Stream &output_strm, const char *long_help);
+
+    void
     GenerateHelpText (CommandReturnObject &result);
 
     virtual void

Modified: vendor/lldb/dist/include/lldb/Symbol/Function.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Symbol/Function.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Symbol/Function.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -123,7 +123,7 @@ public:
     /// @return
     ///     A const reference to the method name object.
     //------------------------------------------------------------------
-    const ConstString&
+    ConstString
     GetName () const;
 
     //------------------------------------------------------------------
@@ -240,11 +240,14 @@ public:
     Dump(Stream *s, bool show_fullpaths) const;
 
     void
-    DumpStopContext (Stream *s) const;
+    DumpStopContext (Stream *s, lldb::LanguageType language) const;
 
-    const ConstString &
-    GetName () const;
+    ConstString
+    GetName (lldb::LanguageType language) const;
 
+    ConstString
+    GetDisplayName (lldb::LanguageType language) const;
+    
     //------------------------------------------------------------------
     /// Get accessor for the call site declaration information.
     ///
@@ -437,6 +440,8 @@ public:
         return m_range;
     }
 
+    lldb::LanguageType
+    GetLanguage() const;
     //------------------------------------------------------------------
     /// Find the file and line number of the source location of the start
     /// of the function.  This will use the declaration if present and fall
@@ -524,11 +529,14 @@ public:
         return m_frame_base;
     }
 
-    const ConstString &
-    GetName() const
-    {
-        return m_mangled.GetName();
-    }
+    ConstString
+    GetName() const;
+
+    ConstString
+    GetNameNoArguments () const;
+    
+    ConstString
+    GetDisplayName () const;
 
     const Mangled &
     GetMangled() const

Modified: vendor/lldb/dist/include/lldb/Symbol/Symbol.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Symbol/Symbol.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Symbol/Symbol.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -152,18 +152,28 @@ public:
     lldb::addr_t
     ResolveCallableAddress(Target &target) const;
 
-    const ConstString &
-    GetName () const
-    {
-        return m_mangled.GetName();
-    }
+    ConstString
+    GetName () const;
+
+    ConstString
+    GetNameNoArguments () const;
 
+    ConstString
+    GetDisplayName () const;
+    
     uint32_t
     GetID() const
     {
         return m_uid;
     }
 
+    lldb::LanguageType
+    GetLanguage() const
+    {
+        // TODO: See if there is a way to determine the language for a symbol somehow, for now just return our best guess
+        return m_mangled.GuessLanguage();
+    }
+
     void
     SetID(uint32_t uid)
     {

Modified: vendor/lldb/dist/include/lldb/Symbol/Variable.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Symbol/Variable.h	Sun Sep  6 12:02:28 2015	(r287502)
+++ vendor/lldb/dist/include/lldb/Symbol/Variable.h	Sun Sep  6 14:32:30 2015	(r287503)
@@ -55,7 +55,7 @@ public:
         return m_declaration;
     }
 
-    const ConstString&
+    ConstString
     GetName() const;
 
     SymbolContextScope *
@@ -70,12 +70,7 @@ public:
     // function that can be called by commands and expression parsers to make
     // sure we match anything we come across.
     bool
-    NameMatches (const ConstString &name) const
-    {
-        if (m_name == name)
-            return true;
-        return m_mangled.NameMatches (name);
-    }
+    NameMatches (const ConstString &name) const;
 

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201509061432.t86EWVqM084660>