Start converting usages of off_t to other types.

off_t is a type which is used for file offsets.  Even more
specifically, it is only used by a limited number of C APIs that
deal with files.  Any usage of off_t where the variable is not
intended to be used with one of these APIs is a bug, by definition.

This patch corrects some easy mis-uses of off_t, generally by
converting them to lldb::offset_t, but sometimes by using other
types such as size_t, when appropriate.

The use of off_t to represent these offsets has worked fine in
practice on linux-y platforms, since we used _FILE_OFFSET_64 to
guarantee that off_t was a uint64.  On Windows, however,
_FILE_OFFSET_64 is unrecognized, and off_t will always be 32-bit.
So the usage of off_t on Windows actually leads to legitimate bugs.

Reviewed by: Greg Clayton

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

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212192 91177308-0d34-0410-b5e6-96231b3b80d8
If a breakpoint gets deleted, any SBBreakpoints representing that
breakpoint should return false from IsValid.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212206 91177308-0d34-0410-b5e6-96231b3b80d8
Removing Carbon dependency by removing obsolete code.
The only part using Carbon is a function in Host.mm used to open a file in Xcode.
That code is broken and it is no longer useful as Xcode supports LLDB natively.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212208 91177308-0d34-0410-b5e6-96231b3b80d8
Make LLDB.framework link again on Yosemite.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212213 91177308-0d34-0410-b5e6-96231b3b80d8
Add host layer support for pipes.

Windows does support pipes, but they do so in a slightly different way. Added a Host layer which abstracts the use of pipes into a new Pipe class that everyone can use.

Windows benefits include:
- Being able to interrupt running processes when IO is directly hooked up 
- being able to interrupt long running python scripts
- being able to interrupt anything based on ConnectionFileDescriptor



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212220 91177308-0d34-0410-b5e6-96231b3b80d8
lldb - problem with some PTRACE_* constants in NativeProcessLinux.cpp file

See http://reviews.llvm.org/D4366 for details.

Change by Paul Paul Osmialowski

Today this is the only problem that I'm facing trying to cross-compile lldb for AArch64 using Linaro's toolchain.

PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS, PTRACE_SETFPREGS are not defined for AArch64
These things can be defined different ways for other architectures, e.g. for x86_64 Linux, asm/ptrace-abi.h defines them as preprocessor constants while sys/ptrace.h defines them in enum along with corresponding PT_* preprocessor constants
NativeProcessLinux.cpp includes sys/ptrace.h
To avoid accidental redefinition of enums with preprocessor constants, I'm proposing this patch which first checks for PT_* preprocessor constants then checks for PTRACE_* constants then when it still can not find them, it defines preprocessor constants.
Similar approach was already used for PTRACE_GETREGSET and PTRACE_SETREGSET constants; in this case however it was easier, since enum values in sys/ptrace.h and preprocessor constants shared all exactly the same names (e.g. there's no additional PT_GETREGSET name defined).


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212225 91177308-0d34-0410-b5e6-96231b3b80d8
Add enumerations for additional languages from DWARF spec updates.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212246 91177308-0d34-0410-b5e6-96231b3b80d8
Fix compilation errors introduced by host Pipe abstraction
on Windows.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212255 91177308-0d34-0410-b5e6-96231b3b80d8
Adds the notion of an OptionValidator.

The purpose of the OptionValidator is to determine, based on some
arbitrary set of conditions, whether or not a command option is
valid for a given debugger state.  An example of this might be
to selectively disable or enable certain command options that
don't apply to a particular platform.

This patch contains no functional change, and does not actually
make use of an OptionValidator for any purpose yet.  A follow-up
patch will begin to add the logic and users of OptionValidator.

Reviewed by: Greg Clayton, Jim Ingham

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

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212290 91177308-0d34-0410-b5e6-96231b3b80d8
Fix -Wnull-conversion warning.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212304 91177308-0d34-0410-b5e6-96231b3b80d8
Fix OptionDefinition break from r212290.

Fixes some structure definitions in CommandObjectType
that needed to be adjusted for a new OptionDefinition
field.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212317 91177308-0d34-0410-b5e6-96231b3b80d8
Fix Windows build when python is not explicitly enabled

Currently Windows disables Python builds by default.  This
change ensures we don't process the scripts dir when we're
on Windows unless we're explicitly enabling python, which
prevents a build error.

Change by Deepak Panickal


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212319 91177308-0d34-0410-b5e6-96231b3b80d8
Windows build fixes and removal of endlessly recursive termination function.

This change removes the ScriptInterpreter::TerminateInterpreter() call which
ended up endlessly calling itself as things currently stand.  It also cleans
up some other Windows-related cmake changes.

See http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20140630/011544.html
for more details.

Change by Zachary Turner


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212320 91177308-0d34-0410-b5e6-96231b3b80d8
Track IntrusiveRefCntPtr::get() changes from LLVM r212366

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212368 91177308-0d34-0410-b5e6-96231b3b80d8
Track changes from clang r212388

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212391 91177308-0d34-0410-b5e6-96231b3b80d8
Update lldb  code to match the change in clang r212386

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212410 91177308-0d34-0410-b5e6-96231b3b80d8
remove trailing whitespace + remove some useless comments

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212411 91177308-0d34-0410-b5e6-96231b3b80d8
llvm::IntrusiveRefCntPtr => std::shared_ptr to match the changes in clang r212388

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@212413 91177308-0d34-0410-b5e6-96231b3b80d8
Merge upstream llvm.org r212413 into dev-lldb-platform
CMake: Let LLDB build with CMake 3

Teach add_lldb_library to correctly use the CMake 2.8.12
PUBLIC/PRIVATE/INTERFACE keywords.  LLDB's CMake configuration would
inconsistently apply these keywords; this was previously a warning in
CMake 2.x but became an error in CMake 3.

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