Fix a bug with order of operations.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213411 91177308-0d34-0410-b5e6-96231b3b80d8
Test commit.  Having trouble committing from one machine but not
another, attempting to fix it.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213413 91177308-0d34-0410-b5e6-96231b3b80d8
Allow the user to override the LLDB_TEST_COMPILER at CMake level.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213421 91177308-0d34-0410-b5e6-96231b3b80d8
LLDB now correctly handles virtual inheritance.

Test case added as well.

<rdar://problem/16785904>



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213433 91177308-0d34-0410-b5e6-96231b3b80d8
In Process::LoadImage, use the same function call both to call dlopen and to collect
the error if there is one.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213436 91177308-0d34-0410-b5e6-96231b3b80d8
Add the ability to suppress the creation of a persistent
result variable and use in in "Process::LoadImage" so that,
for instance, "process load" doesn't increment the return
variable number.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213440 91177308-0d34-0410-b5e6-96231b3b80d8
build: fix cmake warning with newer CMake

Hoist the compatibility macros out a level and re-use them when adding link
dependencies.  Silences a warning from CMake.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213469 91177308-0d34-0410-b5e6-96231b3b80d8
linux process: silence GCC switch coverage warning

Add missing entry for eExecMessage message type to silence GCC switch coverage
warning.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213470 91177308-0d34-0410-b5e6-96231b3b80d8
Remove spurious debugging message from CMake.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213553 91177308-0d34-0410-b5e6-96231b3b80d8
Rename dosep.ty to dosep.py

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213555 91177308-0d34-0410-b5e6-96231b3b80d8
Dynamic loader for the Hexagon DSP

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213565 91177308-0d34-0410-b5e6-96231b3b80d8
ABI for the Hexagon DSP

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213566 91177308-0d34-0410-b5e6-96231b3b80d8
Add the Hexagon DSP breakpoint opcode to PlatformWindows and PlatformLinux

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213567 91177308-0d34-0410-b5e6-96231b3b80d8
Update CMakeLists.txt and Makefiles for building/linking the Hexagon ABI and Dynamic Loader

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213568 91177308-0d34-0410-b5e6-96231b3b80d8
build: silence GCC warning on Linux

LLDWrapPython.cpp is a generated file.  This contains a double assignment to the
same value, which causes GCC to emit a warning about sequence point evaluation
causing a use-before-init.  Simply silence the warning.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213575 91177308-0d34-0410-b5e6-96231b3b80d8
Improve LLDB's embedded C++ demangler by addressing the following two issues:

1) Preserve ref qualification state in a local variable while parsing a nested name.  Previously, the state was recorded in the shared db reference and could therefore be overwritten when parsing multiple levels of nested names (e.g.: when a qualified name has qualified template args.)

2) Address an off-by-one error when testing whether or not a thunk is non-virtual.  This resulted in the demangled identifying all thunks as non-virtual.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213591 91177308-0d34-0410-b5e6-96231b3b80d8
Fix the warnings introduced

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213643 91177308-0d34-0410-b5e6-96231b3b80d8
Fix an issue where an entry point of 0x00 would cause LLDB to think that the ELF is not executable without checking for ET_EXEC

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213644 91177308-0d34-0410-b5e6-96231b3b80d8
Make the test runner understand Windows command shell execution.

Currently, the test runner makes the assumption that it will run
commands through /bin/sh.  This is obviously not true on Windows,
so this patch abstracts this logic out somewhat.  Instead of
having the caller build the command string himself, the caller
will now pass in argument list of the form [[a, b], [c, d], ...]
which will get converted into a string of the form a b; c d or
a b && c d, depending on the platform.

Reviewed by: Todd Fiala

Differential Revision: http://reviews.llvm.org/D4590

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213669 91177308-0d34-0410-b5e6-96231b3b80d8
Dramatically improves C++ demangling performance by introducing a new implementation that is much faster than the existing demangler.  While not yet complete, the new demangler will fail gracefully when it encounters symbols it isn’t prepared to deal with.  In these cases LLDB will fall back to using the full demangler to prevent a loss in functionality.  On sizable code bases the fast path succeeds 95% of the time, providing a significant net win.

The new implementation is located in source/Core/FastDemangle.cpp.  It’s fairly straightforward C code with a few basic C++ extensions.  It should compile with little or no change on a variety of platforms, but of course it is still only useful for symbols that comply with the Itanium ABI mangling spec (plus a few Clang extensions.)

<rdar://problem/15397553> <rdar://problem/15794867>



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@213671 91177308-0d34-0410-b5e6-96231b3b80d8