52f792329be5db8e38961350589e97e8f2823acd |
|
12-Jul-2013 |
Greg Clayton <gclayton@apple.com> |
Huge change to clean up types. A long time ago we start with clang types that were created by the symbol files and there were many functions in lldb_private::ClangASTContext that helped. Later we create ClangASTType which contains a clang::ASTContext and an opauque QualType, but we didn't switch over to fully using it. There were a lot of places where we would pass around a raw clang_type_t and also pass along a clang::ASTContext separately. This left room for error. This checkin change all type code over to use ClangASTType everywhere and I cleaned up the interfaces quite a bit. Any code that was in ClangASTContext that was type related, was moved over into ClangASTType. All code that used these types was switched over to use all of the new goodness. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
237bbc15b73b4244279e4e155d54d804baadfd81 |
|
19-Jun-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/14005652> Fixing a bug with the NSString data formatter where some strings would be truncated git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
884288bcb6824452a3c64eb772c0976501acc47a |
|
03-Jun-2013 |
Matt Kopec <Matt.Kopec@intel.com> |
Fix various build warnings. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
7b61b79d4a6a606b8efc11d7a8b2aa63a9880d46 |
|
31-May-2013 |
Enrico Granata <egranata@apple.com> |
An NSData with 0 bytes in it would report a summary of “0 byte” Making sure that I get my English right by saying “0 bytes” instead git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
d9222720d49a2f82234f5f9d3ffd0afe086b7251 |
|
18-May-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/13928053> Fix the fact that an empty NSString (e.g. one obtained from @"" would show no summary) git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182173 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
829526245fc45b968bb7d0beef6f2d8b01bb52e5 |
|
15-May-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/13821289> Changes to the libc++ std::string data formatter git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
39ebb982b3f9de4a15744078e9c6ba231187b5dc |
|
26-Apr-2013 |
Enrico Granata <egranata@apple.com> |
Make a synthetic children provider for the ObjC Class type git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
bf5d9d4730cd1fedef4ff02ed25cc47be06e0c8a |
|
23-Apr-2013 |
Enrico Granata <egranata@apple.com> |
char32_t should use an uppercase U as its prefix git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
66cd2b51a3e5003e2692215277525f79bb86c55b |
|
23-Apr-2013 |
Enrico Granata <egranata@apple.com> |
The new ReadStringFromMemory() API does not work correctly with NSStrings that have an explicit length and no NULL terminator This checkin reverts NSString to the old behavior when appropriate, and cleans up the syntax to call the UTF Reader&Dumper function Incidentally, add a "-d" command-line flag to redo.py with the same semantics as "-d" in dotest.py git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180141 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
d387b462eecb908af265ecc7006781b4532073ad |
|
19-Apr-2013 |
Greg Clayton <gclayton@apple.com> |
Fixed some linux buildbot warnings. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
347d722127cc6a19b077244305c3d350ea4ef80e |
|
19-Apr-2013 |
Ashok Thirumurthi <ashok.thirumurthi@intel.com> |
Provided a variant of ReadCStringFromMemory that supports null terminators of any character width. This prevents unbounded reads (i.e. reads of GetMaximumSizeOfStringSummary() bytes) from causing test failures (i.e. due to ptrace EIO or EFAULT on Linux). Note that ReadCStringFromMemory is marked as deprecated because the loop that calls ReadMemory does not continue until the string has been completely read. The expected behavior is to read until until max_bytes or a null terminator. Note: As discussed on lldb-dev, further testing will be performed with ReadStringFromMemory before further changes are made for users of ReadCStringFromMemory. Thanks to Enrico, Matt and Andy for their review feedback. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
54f30207231b5b9fe4ed6ca05f6774618326b27d |
|
03-Apr-2013 |
Enrico Granata <egranata@apple.com> |
Fixing a silly bug that would cause string summaries not to show up :-) git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
fb1493d5c569100d8c029162a6b5d30413a14570 |
|
02-Apr-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/13415737> Fixing a bug where LLDB was not handling correctly CFStrings that have an explicit length but no NULL terminator The data formatter was showing garbled data as part of the summary The fix is to explicitly figure out the explicit length if we need to (bitfields tell us when that is the case) and use that as a size delimiter git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
d32acdb74c50f6fc3a2aab0619a75f2bc4c05a30 |
|
28-Mar-2013 |
Enrico Granata <egranata@apple.com> |
Hardening the vector iterator synthetic child(ren) provider against item-not-in-cluster asserts git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
cc5d27417b9f958d596a438290a9adb17674b487 |
|
19-Mar-2013 |
Enrico Granata <egranata@apple.com> |
The formatters for std::shared_ptr, std::weak_ptr, std::list, std::vector and std::map as provided by libc++ are now written in C++ instead of Python std::deque is still in Python but is much less commonly used git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
cba09f60618744e2155bc97c9049fa9c797698ad |
|
19-Mar-2013 |
Enrico Granata <egranata@apple.com> |
This checkin removes the last Cocoa formatters that were implemented in Python and reimplements them in C++. The Python Cocoa formatters are not shipped as part of LLDB anymore, but still exist in the source repository for user reference. Python formatters still exist for STL classes and users can still define their own Python formatters git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
5782daebac56f3d5b8effdc4e6db7de93630b3c5 |
|
16-Mar-2013 |
Enrico Granata <egranata@apple.com> |
C++ formatters for NSTimeZone and for CFBitVector git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
3818e6ac2211921db522abedd43746c1de3e82b5 |
|
16-Mar-2013 |
Enrico Granata <egranata@apple.com> |
NS(Mutable)IndexSet formatter moves from Python to C++ git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
dc1df6b2fd7d359753b2bcfcf2decb114f465a1d |
|
16-Mar-2013 |
Enrico Granata <egranata@apple.com> |
Converting more data formatters to C++ - NSBundle, CFBinaryHeap, NSMachPort and NSNotification git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
280b30f0315211c54ce1c34366b586e9700629f4 |
|
15-Mar-2013 |
Enrico Granata <egranata@apple.com> |
Porting the Objective-C Class data type’s summary from Python to C++ git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
b70c6ef20cd49bd7b33736e7534db717ae75e96f |
|
15-Mar-2013 |
Enrico Granata <egranata@apple.com> |
Moving CFBag and NSBundle summaries from Python to C++ Temporarily disabled non-code-running summaries for CF*Dictionary and NSCountedSet git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
f3a217e676b9aa7cadbec2216cf0d69f16ce57a3 |
|
21-Feb-2013 |
Enrico Granata <egranata@apple.com> |
Cleanup of the NSString data formatter git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
32d7ee3d2969211e104a27fcfcd636f249b26559 |
|
21-Feb-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/4529976> Adding data formatters for iterators for std::map and std::vector (both libc++ and libstdcpp) This does not include reverse iterators since they are both trickier (due to requirements the standard imposes on them) and much less useful git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
04d3bb2436e3cbecd3d461715aaf5cc99e93c828 |
|
19-Feb-2013 |
Enrico Granata <egranata@apple.com> |
Fixing the lack of a space in an expression that was causing sheer unhappiness. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
ea68753ef4b8cca81cf3f5aef7bbf1ebb152a832 |
|
16-Feb-2013 |
Enrico Granata <egranata@apple.com> |
NSSet formatter is now C++ code Split some NS* formatters in their own source files Refactored a utility function for the C++ formatters to use Fixed the skip-summary test case to be explicit about requiring libstdc++ for operation git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
1f9df7804f59193fdfbba3d73bb81f99c689f486 |
|
15-Feb-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/13204647> The SEL data formatter was working hard to ensure that pointers-to-selectors could be formatted by the same block of code. In that effort, we were taking the address-of a SEL. This operation fails when the SEL lives in a register, and was causing problems. The formatter has been fixed to work correctly without assuming &selector will be a valid object. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
2fd26158cadd9abd1592c5b72ac60c6e1e31c43f |
|
09-Feb-2013 |
Enrico Granata <egranata@apple.com> |
Fixing a logic flaw with NSURL summary. This was caught by running the test suite in 32bit mode git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
0cd33406723ceed5c08d41ff6946006298f3f133 |
|
08-Feb-2013 |
Greg Clayton <gclayton@apple.com> |
Fixed a store to data that isn't needed and that also could end up writing beyond the end of the buffer. This was found by the address sanitizer. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
979c4b526eb31cbed5475ec62ef10fe53cbf8c45 |
|
08-Feb-2013 |
Enrico Granata <egranata@apple.com> |
This checkin implements the data formatter for NSURL in C++ code git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
dcffc1a667665936b3dd33a9861a3de9d1d35636 |
|
08-Feb-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/12898191> Added a summary for NSMutableAttributedString In the process, converted formatters for other NSString-based classes over to C++ code git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
689696c19cbf0fa8a09e2461f0aaa37409782e3b |
|
04-Feb-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/12953018> Synthetic children and summary for std::vector<bool> (for both libcxx and libstdcpp). std::vector<bool> is a special case and is custom-implemented to be a vector of bits, which means we failed to handle it with the standard std::vector<T> formatter. This checkin provides custom formatters that work correctly git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
53d268ca5382af7fdfca320ed647ddaee63c9f7d |
|
30-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
llvm/Basic/ConvertUTF.h now exposes all functions without macro tricks git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
2a64f9ad2f6abf7a43bb03346a5af50f9df204f7 |
|
30-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
UTF conversion routines were moved from clang/Basic to llvm/Support git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173935 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|
f509c5ec066599a3399fced39ea36996184939e8 |
|
29-Jan-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/12978143> Data formatters now cache themselves. This commit provides a new formatter cache mechanism. Upon resolving a formatter (summary or synthetic), LLDB remembers the resolution for later faster retrieval. Also moved the data formatters subsystem from the core to its own group and folder for easier management, and done some code reorganization. The ObjC runtime v1 now returns a class name if asked for the dynamic type of an object. This is required for formatters caching to work with the v1 runtime. Lastly, this commit disposes of the old hack where ValueObjects had to remember whether they were queried for formatters with their static or dynamic type. Now the ValueObjectDynamicValue class works well enough that we can use its dynamic value setting for the same purpose. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
|