Do not rely on invalid pthread API use in thread test

Calling mutex_lock from one thread and then mutex_unlock from another is
not permitted.  Replace the awkward mutex usage with a mutex and
condition variable.

llvm.org/pr18061                                                            


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@205900 91177308-0d34-0410-b5e6-96231b3b80d8
Use the default TID format in curses UI

TIDs are conventionally shown as decimal values on FreeBSD and Linux.
Thus, use the ${thread.id%tid} format string to display the thread ID,
instead of a fixed hex format.

llvm.org/pr19380




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@205912 91177308-0d34-0410-b5e6-96231b3b80d8
<rdar://problem/16477472>

Set the correct FormatManager revision before starting to figure out the new formatters
This can avoid entering some corner cases where as part of figuring out formatters we try to figure out dynamic types, and in turn that causes us to go back in trying to fetch new formatters - it is not only a futile exercise, it's also prone to endless recursion

This would only cause a behavior change if getting this chain started would eventually cause something to run and alter the formatters, a very unlikely if at all possible sequence of events



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@205928 91177308-0d34-0410-b5e6-96231b3b80d8
When trying to extract the type info for an r-value reference type, dont' cast to an l-value reference type



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@205932 91177308-0d34-0410-b5e6-96231b3b80d8
<rdar://problem/12055586>

Enable data formatters to see-through pointers/references to typedefs

For instance, if Foo is a typedef to Bar, and there is a formatter for any/all of Bar*, Bar&, Bar&&, then Foo*, Foo&, and Foo&& should pick these up if Foo-specific formatters don't exist



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@205939 91177308-0d34-0410-b5e6-96231b3b80d8
<rdar://problem/16540961>

The "unexpected value" message only matters to me, but is bound to make the experience more confusing for people when some uninitialized memory looks like an NSNumber and then can't be formatted properly, and that error comes out in the UI

Just drop the error message entirely - nobody but me cares



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@205978 91177308-0d34-0410-b5e6-96231b3b80d8
Fixed SBThread.GetStopReasonDataAtIndex() to correctly return breakpoint location ID.

Patch from Vyacheslav Karpukhin.

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