• Home
  • History
  • Annotate
  • only in /external/lldb/source/DataFormatters/
History log of /external/lldb/source/DataFormatters/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8aaa52329ade20107fe28af7085b0a1f395816a8 05-Nov-2013 Todd Fiala <tfiala@google.com> Fixes for LLDB build to work around host 4.6.2+ compiler issues.

These fixes to the LLDB source add manual copy constructor and operator=()
methods for classes that use member bitfields and are used in templated
containers.

The intent is to keep this change (and related LLVM and clang changes)
local to android only until we either fix the compiler or use a new one
for host executable builds.
ormatCache.cpp
d55c5b19487ef22383a32548f1143f1dfac2478f 14-Oct-2013 Todd Fiala <tfiala@google.com> Add Android.mk support for building LLDB on Linux host.

This change adds support for building LLDB with the following
build command from the top level:

make FORCE_BUILD_LLVM_COMPONENTS=true ANDROID_BUILD_LLDB=true lldb

There are known issues with the google linux host gcc 4.6.2+ variant
currently used to build host executables. A follow up change will
apply a temporary work-around that will be used until either the
compiler is fixed or a new compiler is used.

Change-Id: I18451f73cbe2264074cd8fba6397680855352a93
ndroid.mk
3160832f026e60e832da55f90993a40ad132e360 07-Aug-2013 Michael Sartain <mikesart@valvesoftware.com> clean up about 22 warnings messages

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187900 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.cpp
473e233c4a7b17b0eeddb9d85d54b265d50440d4 16-Jul-2013 Enrico Granata <egranata@apple.com> Disabling the introspecting summary for __NSCFSet (essentially, for CF*SetRef)

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186362 91177308-0d34-0410-b5e6-96231b3b80d8
SSet.cpp
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
XXFormatterFunctions.cpp
ocoa.cpp
ibCxx.cpp
ibCxxList.cpp
ibCxxMap.cpp
ibStdcpp.cpp
SArray.cpp
SDictionary.cpp
4bb4232b60650d39ef66cb600cef8399342b7d16 10-Jul-2013 Enrico Granata <egranata@apple.com> Adding a summary for ObjC blocks

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186023 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.cpp
a227fcd20fb7479e43b3890ed35a4c5cc0671dd0 26-Jun-2013 Enrico Granata <egranata@apple.com> Remove the #define USE_CACHE since the formatters cache has been operational for a while now and has not caused issues that warrant disabling it
Also, print the cache hits statistics if the log is in debugging mode vs. LLDB being a debug build - this should make it easier to gather useful metrics on cache success rate for real users

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184900 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.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
XXFormatterFunctions.cpp
3e11c7ec050648ba865f1d451f8cb46fd39072a8 19-Jun-2013 Andy Gibbs <andyg1001@hotmail.co.uk> Sort out a number of mismatched integer types in order to cut down the number of compiler warnings.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184333 91177308-0d34-0410-b5e6-96231b3b80d8
ypeSynthetic.cpp
b6a4c565732b3a7b546ba2aa0e7aec3a4bb359a4 18-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12717717>

Modifying our data formatters matching algorithm to ensure that "const X*" is treated as equivalent to "X*"
Also, a couple improvements to the "lldb types" logging



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184215 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.cpp
ypeCategoryMap.cpp
349caf7e3cc510b5ddadb81e751071f743f9be6f 12-Jun-2013 Enrico Granata <egranata@apple.com> Removing a redundant write



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183814 91177308-0d34-0410-b5e6-96231b3b80d8
F.cpp
6fb3f2c45c87de47d5058310b4ef14cc3a26727c 11-Jun-2013 Greg Clayton <gclayton@apple.com> Remove eFormatHalfFloat as it isn't needed. eFormatFloat should be used and the byte size will tell us how to display it.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183755 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.cpp
01c3be1218c47f2e3aed499afa0b3a7e2d9dfd3a 11-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12783351>

Add support for half-floats, as specified by IEEE-754-2008
With this checkin, you can now say:
(lldb) x/7hf foo

to read 7 half-floats at address foo



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183716 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.cpp
129b12049d6fc334fdfbd348a231c156b23db923 11-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/14101771>

Hardening the CFBitVector data formatter against failed reads

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183706 91177308-0d34-0410-b5e6-96231b3b80d8
F.cpp
3990c278c5f4f6ce1373ee3e6d5b984883cf4318 05-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13125225>

Adding data formatters for std::set, std::multiset and std::multimap for libc++
The underlying data structure is the same as std::map, so this change is very minimal and mostly consists of test cases



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183323 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.cpp
0c9166c1234dbe6906cd9e4df3132269e35d4b8f 04-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/14003462>

Formatters for unsigned char* and const variant

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183254 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.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
F.cpp
XXFormatterFunctions.cpp
ocoa.cpp
ibCxx.cpp
ibCxxList.cpp
ibCxxMap.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
XXFormatterFunctions.cpp
17d5a0358d60922707fdab6ec9c3251ca44dd614 23-May-2013 Michael Sartain <mikesart@valvesoftware.com> Add ${ansi.XX} parsing to lldb prompt, use-color setting, and -no-use-colors command line options.
settings set use-color [false|true]
settings set prompt "${ansi.bold}${ansi.fg.green}(lldb)${ansi.normal} "
also "--no-use-colors" on the command prompt



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182609 91177308-0d34-0410-b5e6-96231b3b80d8
ibCxx.cpp
ypeSummary.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
XXFormatterFunctions.cpp
0c2921f5b9dab2ca1832bb746ab3aa3f66fdd0b5 15-May-2013 Jim Ingham <jingham@apple.com> Fixed a few obvious errors pointed out by the static analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181911 91177308-0d34-0410-b5e6-96231b3b80d8
ocoa.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
XXFormatterFunctions.cpp
8f0f4751e12a4f8d2b6bf359ee4e0853b0d6cd23 06-May-2013 Enrico Granata <egranata@apple.com> <rdar://problem/11669154>

Make a summary format for libc++ STL containers that shows the number of items as before, but also shows the pointer value for pointer-to-container



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181236 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.cpp
ibCxx.cpp
01400dc75cddb838e04c4cb898ac137677ec9cb6 03-May-2013 Enrico Granata <egranata@apple.com> Harden against potential empty nodes in the map

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181045 91177308-0d34-0410-b5e6-96231b3b80d8
ibCxxMap.cpp
c881c1d5bbaee9b985cf52f5d32291f1344133e9 03-May-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13749871>

Improvements to the std::map data formatter to recognize when invalid memory is being explored and bail out instead of looping for a potentially very long time



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181044 91177308-0d34-0410-b5e6-96231b3b80d8
ibCxxMap.cpp
5c2cd1f89c48df277a07f73822187317ac4cbae0 27-Apr-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12529989>

Synthetic children provider for NSOrderedSet

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180655 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.cpp
SSet.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
XXFormatterFunctions.cpp
ormatManager.cpp
98b449f489fb521f2e03287bd5515b3502481089 24-Apr-2013 Enrico Granata <egranata@apple.com> See: http://stackoverflow.com/questions/16166897/c-how-to-obtain-address-of-stdvector-object-in-lldb-xcode
The user was trying to obtain the address-of an std::vector and the experience was more painful than necessary because data formatters were kicking in for vector* objects
We got this right for libc++ - we should get it right for libstdc++ too

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180219 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.cpp
d9661be3c9f884d9a7a78174038387edd04c5d93 24-Apr-2013 Enrico Granata <egranata@apple.com> Changes to the ObjC runtime



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180199 91177308-0d34-0410-b5e6-96231b3b80d8
ocoa.cpp
ca873137d16605ffb2c1be3a1d426115fa6bb3cd 24-Apr-2013 Enrico Granata <egranata@apple.com> Closing parentheses is good - doing it while respecting printf format specifiers is even better

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180156 91177308-0d34-0410-b5e6-96231b3b80d8
ocoa.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
XXFormatterFunctions.cpp
e34ed406b17376636741d1888734375bfc39ba08 23-Apr-2013 Enrico Granata <egranata@apple.com> Closing parentheses once they are open is a good idea

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180142 91177308-0d34-0410-b5e6-96231b3b80d8
ocoa.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
XXFormatterFunctions.cpp
fe26a2333298602bac55decfee87bc6d33b79d54 23-Apr-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13437949>

Making sure that CF*{Array|Dictionary}Ref provide synthetic children correctly.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180074 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.cpp
SArray.cpp
SDictionary.cpp
ca85d934eae6e0a1ba3680d175d4fdff74393cc0 23-Apr-2013 Enrico Granata <egranata@apple.com> Much better way to get at the size of an std::list

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180071 91177308-0d34-0410-b5e6-96231b3b80d8
ibCxxList.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
XXFormatterFunctions.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
XXFormatterFunctions.cpp
12fbcf5bdbc54e49bf565ec067b3b484c28a52fe 05-Apr-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13563628>

Introducing a negative cache for ObjCLanguageRuntime::LookupInCompleteClassCache()
This helps speed up the (common) case of us looking for classes that are hidden deep within Cocoa internals and repeatedly failing at finding type information for them.
In order for this to work, we need to clean this cache whenever debug information is added. A new symbols loaded event is added that is triggered with add-dsym (before modules loaded would be triggered for both adding modules and adding symbols).
Interested parties can register for this event. Internally, we make sure to clean the negative cache whenever symbols are added.
Lastly, ClassDescriptor::IsTagged() has been refactored to GetTaggedPointerInfo() that also (optionally) returns info and value bits. In this way, data formatters can share tagged pointer code instead of duplicating the required arithmetic.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178897 91177308-0d34-0410-b5e6-96231b3b80d8
ocoa.cpp
cfeaa431414cb7c0bdfaf03a2d78a402873641df 04-Apr-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13563697>

The __NSArrayI synthetic children provider was running expressions to generate children, which is inefficient for large amounts of data
Reimplementing to use a faster algorithm

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178729 91177308-0d34-0410-b5e6-96231b3b80d8
SArray.cpp
b902709729c522740260b0d497e931e6900afb00 03-Apr-2013 Jason Molenda <jmolenda@apple.com> #include clang's AST/DeclCXX.h to pick up CXXRecordDecl definition,
needed for some versions of clang.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178692 91177308-0d34-0410-b5e6-96231b3b80d8
SDictionary.cpp
33d109885979d0797b334746627d2d01f0ee6804 03-Apr-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13563403>

Reimplemented the NSDictionary synthetic children provider for added performance.
Instead of generating pairs by running an expression, we now create a pair type using clang-level APIs and fill in a buffer with the pointers to key and value
This strategy takes the time required to dump a 10k items __NSDictionaryM from ~45s to <4s

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178601 91177308-0d34-0410-b5e6-96231b3b80d8
SDictionary.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
XXFormatterFunctions.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
XXFormatterFunctions.cpp
1ce700057562ef0a71724050f1d1675f29f646b6 28-Mar-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12410225>

By default, omit the children for a char[] and just show the string contents
Can be overridden by appropriate command-line flags

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178292 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.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
XXFormatterFunctions.cpp
952e9dc874944fcdbbb224f3ec4fc2c859376f64 28-Mar-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13521159>

LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down.

All logging channels now make one and only one instance that is kept in a global pointer which is never freed. This guarantees that logging can correctly continue as the process tears itself down.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178191 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.cpp
ypeCategoryMap.cpp
dea1f151f49d4d490d0971633013a5b5dcaaa13c 26-Mar-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13339196>

The algorithm to access an item in a __NSArrayM was not reacting properly to deletions
The fix is to use a smarter formula that accounts for items shifting and the resulting notion of offsets in the table

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178076 91177308-0d34-0410-b5e6-96231b3b80d8
SArray.cpp
23fde4e1fafd43079e25bb17d8d00d9e546785cf 26-Mar-2013 Enrico Granata <egranata@apple.com> Data formatters cleanup:
- Making an error message more consistent
- Ensuring the element size is not zero before using it in a modulus
- Properly using target settings to cap the std::list element count
- Removing spurious element size calculations that were unused
- Removing spurious capping in std::map


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178057 91177308-0d34-0410-b5e6-96231b3b80d8
ocoa.cpp
ibCxxList.cpp
ibCxxMap.cpp
7002d45ba0dbaa0f148c43af206f78df91c02546 26-Mar-2013 Greg Clayton <gclayton@apple.com> Don't crash when we have an element size of zero.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178056 91177308-0d34-0410-b5e6-96231b3b80d8
ibCxx.cpp
3dc2a5b732ae161b8ae51d376a8f0060a7d9e2a8 20-Mar-2013 Enrico Granata <egranata@apple.com> Cleanup to the ObjC runtime to remove the now useless ClassDescriptor_Invalid

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177558 91177308-0d34-0410-b5e6-96231b3b80d8
ocoa.cpp
597c0de3e5816ceabda086db9aaca2c4f82dc687 20-Mar-2013 Andy Gibbs <andyg1001@hotmail.co.uk> Update source/DataFormatters/CMakeLists.txt to reflect actual source files.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177511 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
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
F.cpp
XXFormatterFunctions.cpp
ocoa.cpp
ormatManager.cpp
ibCxx.cpp
ibCxxList.cpp
ibCxxMap.cpp
ypeSynthetic.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
XXFormatterFunctions.cpp
ormatManager.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
XXFormatterFunctions.cpp
ormatManager.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
XXFormatterFunctions.cpp
ormatManager.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
XXFormatterFunctions.cpp
ormatManager.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
XXFormatterFunctions.cpp
ormatManager.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
XXFormatterFunctions.cpp
ormatManager.cpp
SDictionary.cpp
SSet.cpp
ade70cf88d1eb01c9c2ae9a34ac3d489595fb489 25-Feb-2013 Enrico Granata <egranata@apple.com> Optimization of the code-running NSDictionary formatter to skip runtime symbol fetching


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176041 91177308-0d34-0410-b5e6-96231b3b80d8
SDictionary.cpp
24c80295d7519754a87f579f9425e4a9fcce6b40 22-Feb-2013 Enrico Granata <egranata@apple.com> If we crash while making a Python summary, the crash info will tell us more about it

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175915 91177308-0d34-0410-b5e6-96231b3b80d8
ypeSummary.cpp
b7031126eee2dd7ecbce4567ece0601b680fb582 22-Feb-2013 Enrico Granata <egranata@apple.com> The summary for const char* was not cascading.
This was preventing us from providing a summary for the result of std::string.c_str() with libc++



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175841 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.cpp
fe21d4f351f560921e615a6677afe1c057aa7f28 22-Feb-2013 Matt Kopec <Matt.Kopec@intel.com> Fix clang warnings related to python macro redefinition and printf format specifiers.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175829 91177308-0d34-0410-b5e6-96231b3b80d8
ormatCache.cpp
ibCxx.cpp
ibStdcpp.cpp
SArray.cpp
SDictionary.cpp
SSet.cpp
ypeCategory.cpp
ypeCategoryMap.cpp
ypeFormat.cpp
ypeSummary.cpp
ypeSynthetic.cpp
33cf3f000bdb4b69376ad5157d236694f44c5a0f 21-Feb-2013 Daniel Malea <daniel.malea@intel.com> Update CMake lists of sources to include files added in r175787 and r175323



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175797 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
aebeefd3adb11cf535b9a7b6ad4e9c39e005a7b5 21-Feb-2013 Daniel Malea <daniel.malea@intel.com> Adding CMake build system to LLDB. Some known issues remain:
- generate-vers.pl has to be called by cmake to generate the version number
- parallel builds not yet supported; dependency on clang must be explicitly specified

Tested on Linux.
- Building on Mac will require code-signing logic to be implemented.
- Building on Windows will require OS-detection logic and some selective directory inclusion

Thanks to Carlo Kok (who originally prepared these CMakefiles for Windows) and Ben Langmuir
who ported them to Linux!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175795 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
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
XXFormatterFunctions.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
XXFormatterFunctions.cpp
ormatManager.cpp
ibCxx.cpp
ibStdcpp.cpp
SArray.cpp
SDictionary.cpp
SSet.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
XXFormatterFunctions.cpp
fa3a6706b42bddfece6f5ba96d82042c6494a912 19-Feb-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12529957>

Synthetic children provider for NSSet



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175468 91177308-0d34-0410-b5e6-96231b3b80d8
ormatManager.cpp
SSet.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
XXFormatterFunctions.cpp
ormatManager.cpp
SArray.cpp
SDictionary.cpp
SSet.cpp
d85fab94ccafc97e3dea240e92a36fdbc5def6d1 15-Feb-2013 Filipe Cabecinhas <me@filcab.net> Only enable RTTI for cxa_demangle.cpp

If testing on Linux+clang proves it needs RTTI, wa can remove the
conditionals.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175242 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
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
XXFormatterFunctions.cpp
ormatManager.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
XXFormatterFunctions.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
XXFormatterFunctions.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
XXFormatterFunctions.cpp
ormatManager.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
XXFormatterFunctions.cpp
ormatManager.cpp
04334199f3c719e958c7eec6e25152c2bab9ad5e 06-Feb-2013 Daniel Malea <daniel.malea@intel.com> Fix GCC 4.6 build by avoiding delegating ctors

Patch by Abid Hafiz!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174519 91177308-0d34-0410-b5e6-96231b3b80d8
ormatCache.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
XXFormatterFunctions.cpp
ormatManager.cpp
d9da5b0d0e3ea8a398679979b148df699c7215f6 31-Jan-2013 Enrico Granata <egranata@apple.com> Making sure a Pythonless build of LLDB works by #ifdef-ing out formatters code.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174074 91177308-0d34-0410-b5e6-96231b3b80d8
ypeCategory.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
XXFormatterFunctions.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
XXFormatterFunctions.cpp
77332ba5320cb506c5ccec65cc6d4e6107aaa374 30-Jan-2013 Daniel Malea <daniel.malea@intel.com> Fix build problems with libstdc++ 4.6/4.7
- remove nullptr from initialization of shared_ptrs



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173870 91177308-0d34-0410-b5e6-96231b3b80d8
ormatCache.cpp
30c187c4044f77c72560bea55f3c0f7bd7a34b4f 30-Jan-2013 Filipe Cabecinhas <me@filcab.net> Continuing the fix for the r173732 fix. Now lldb gets built with Makefiles (Darwin).

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173864 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
f846c81332119e2407200898fdc85fe34b2e2be4 29-Jan-2013 Enrico Granata <egranata@apple.com> Adding a Makefile. Hopefully that will make the Linux buildbot happy

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173732 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
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
XXFormatterFunctions.cpp
ataVisualization.cpp
ormatCache.cpp
ormatClasses.cpp
ormatManager.cpp
ypeCategory.cpp
ypeCategoryMap.cpp
ypeFormat.cpp
ypeSummary.cpp
ypeSynthetic.cpp