Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2 |
|
#
8a068e6c |
| 23-Apr-2014 |
Enrico Granata <egranata@apple.com> |
Allow summary formatters to take ValueObjects into account when deciding whether values/children should be printed and if child names should be shown This decision has always been statically-bound to
Allow summary formatters to take ValueObjects into account when deciding whether values/children should be printed and if child names should be shown This decision has always been statically-bound to the individual formatter. With this patch, the idea is that this decision could potentially be dynamic depending on the ValueObject itself
llvm-svn: 207046
show more ...
|
Revision tags: llvmorg-3.4.1-rc1 |
|
#
1ac62963 |
| 10-Apr-2014 |
Enrico Granata <egranata@apple.com> |
<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&&,
<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
llvm-svn: 205939
show more ...
|
#
324a1036 |
| 04-Apr-2014 |
Saleem Abdulrasool <compnerd@compnerd.org> |
sweep up -Wformat warnings from gcc
This is a purely mechanical change explicitly casting any parameters for printf style conversion. This cleans up the warnings emitted by gcc 4.8 on Linux.
llvm-
sweep up -Wformat warnings from gcc
This is a purely mechanical change explicitly casting any parameters for printf style conversion. This cleans up the warnings emitted by gcc 4.8 on Linux.
llvm-svn: 205607
show more ...
|
#
a68f7b67 |
| 20-Mar-2014 |
Saleem Abdulrasool <compnerd@compnerd.org> |
cleanup unreferenced functions
This is a mechanical cleanup of unused functions. In the case where the functions are referenced (in comment form), I've simply commented out the functions. A second
cleanup unreferenced functions
This is a mechanical cleanup of unused functions. In the case where the functions are referenced (in comment form), I've simply commented out the functions. A second pass to clean that up is warranted.
The functions which are otherwise unused have been removed. Some of these were introduced in the initial commit and not in use prior to that point!
NFC
llvm-svn: 204310
show more ...
|
#
fcd974a1 |
| 20-Mar-2014 |
Enrico Granata <egranata@apple.com> |
rdar://16361422
Add NSMutableData to the list of types that the NSData formatter knows to represent
llvm-svn: 204289
|
#
1d736c31 |
| 07-Feb-2014 |
Enrico Granata <egranata@apple.com> |
rdar://15648942
Provide a filter for libc++ std::atomic<T> This just hides some implementation clutter and promotes the actual content to only child status
llvm-svn: 200984
|
#
d8e4584c |
| 03-Feb-2014 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/15154623>
Move a couple formatters from category AppKit to CoreFoundation
llvm-svn: 200713
|
#
6b6ea7ac |
| 08-Jan-2014 |
Enrico Granata <egranata@apple.com> |
__CFString should also format as an NSString
llvm-svn: 198727
|
#
0dba9b33 |
| 08-Jan-2014 |
Enrico Granata <egranata@apple.com> |
New and improved data formatter for std::shared_ptr<> and std::weak_ptr<>
llvm-svn: 198724
|
#
30f287fd |
| 28-Dec-2013 |
Enrico Granata <egranata@apple.com> |
Add a new way to bind a format to a type: by enum type The "type format add" command gets a new flag --type (-t). If you pass -t <sometype>, upon fetching the value for an object of your type, LLDB w
Add a new way to bind a format to a type: by enum type The "type format add" command gets a new flag --type (-t). If you pass -t <sometype>, upon fetching the value for an object of your type, LLDB will display it as-if it was of enumeration type <sometype> This is useful in cases of non-contiguous enums where there are empty gaps of unspecified values, and as such one cannot type their variables as the enum type, but users would still like to see them as-if they were of the enum type (e.g. DWARF field types with their user-reserved ranges)
The SB API has also been improved to handle both types of formats, and a test case is added
llvm-svn: 198105
show more ...
|
Revision tags: llvmorg-3.4.0 |
|
#
b72a501d |
| 20-Dec-2013 |
Enrico Granata <egranata@apple.com> |
FormatNavigator has long stopped navigating anything - the generation of possible formatters matches is now done elsewhere So, rename the class for what it truly is: a FormattersContainer Also do a b
FormatNavigator has long stopped navigating anything - the generation of possible formatters matches is now done elsewhere So, rename the class for what it truly is: a FormattersContainer Also do a bunch of related text substitutions in the interest of overall naming clarity
llvm-svn: 197795
show more ...
|
Revision tags: llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2 |
|
#
de61cecd |
| 22-Nov-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/15530080>
Rework data formatters matching algorithm What happens now is that, for each category, the FormatNavigator generates all possible matches, and checks them one by one Since
<rdar://problem/15530080>
Rework data formatters matching algorithm What happens now is that, for each category, the FormatNavigator generates all possible matches, and checks them one by one Since the possible matches do not actually depend on the category (whether a match is accepted or not does, but that check can be shifted at a more convenient time), it is actually feasible to generate every possible match upfront and then let individual categories just scan through those
This commit changes things by introducing a notion of formatters match candidate, and shifting responsibility for generating all of them given a (ValueObject,DynamicValueType) pair from the FormatNavigator back to the FormatManager A list of these candidates is then passed down to each category for matching Candidates also need to remember whether they were generated by stripping pointers, references, typedefs, since this is something that individual formatters can choose to reject This check, however, is conveniently only done once a "textual" match has been found, so that the list of candidates is truly category-independent
While the performance benefit is small (mostly, due to caching), this is much cleaner from a design perspective
llvm-svn: 195395
show more ...
|
Revision tags: llvmorg-3.4.0-rc1 |
|
#
90a8db30 |
| 31-Oct-2013 |
Enrico Granata <egranata@apple.com> |
Renaming the setting to enable/disable automatic one-lining of summaries as auto-one-line-summaries
llvm-svn: 193801
|
#
686f3deb |
| 30-Oct-2013 |
Enrico Granata <egranata@apple.com> |
This checkin introduces the notion of hardcoded formatters, which LLDB can bind to a ValueObject internally depending on any criteria User-vended by-type formatters still would prevail on these hardc
This checkin introduces the notion of hardcoded formatters, which LLDB can bind to a ValueObject internally depending on any criteria User-vended by-type formatters still would prevail on these hardcoded ones
For the time being, while the infrastructure is there, no such formatters exist
This can be useful for cases such as expanding vtables for C++ class pointers, when there is no clear cut notion of a typename matching, and the feature is low-level enough that it makes sense for the debugger core to be vending it
llvm-svn: 193724
show more ...
|
#
34b6671c |
| 30-Oct-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/15143022>
CFNumberRef is toll-free bridged to NSNumber We can use the same summary formatter for both types
llvm-svn: 193666
|
#
553fad5c |
| 25-Oct-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/15319880>
Introduce a new boolean setting enable-auto-oneliner This setting if set to false will force LLDB to not use the new compact one-line display
By default, one-line mode sta
<rdar://problem/15319880>
Introduce a new boolean setting enable-auto-oneliner This setting if set to false will force LLDB to not use the new compact one-line display
By default, one-line mode stays on, at least until we can be confident it works. But now if it seriously impedes your workflow while it evolves/it works wonders but you still hate it, there's a way to turn it off
llvm-svn: 193450
show more ...
|
#
c89e4ca3 |
| 23-Oct-2013 |
Enrico Granata <egranata@apple.com> |
One should actually not do one-line printing of nested aggregates even if they are not the base class This check was overly strict. Relax it. While one could conceivably want nested one-lining: (Foo)
One should actually not do one-line printing of nested aggregates even if they are not the base class This check was overly strict. Relax it. While one could conceivably want nested one-lining: (Foo) aFoo = (x = 1, y = (t = 3, q = “Hello), z = 3.14) the spirit of this feature is mostly to make *SMALL LINEAR* structs come out more compact. Aggregates with children and no summary for now just disable the one-lining. Define a one-liner summary to override :)
llvm-svn: 193218
show more ...
|
#
aff6565f |
| 21-Oct-2013 |
Enrico Granata <egranata@apple.com> |
Get rid of the FooStructSynth, it was a testing thing I put in and forgot to remove Hopefully nobody had a struct Foo in their app:-)
llvm-svn: 193092
|
#
e77b0424 |
| 20-Oct-2013 |
Joerg Sonnenberger <joerg@bec.de> |
Fix python-free build.
llvm-svn: 193053
|
#
52b4b6cd |
| 17-Oct-2013 |
Enrico Granata <egranata@apple.com> |
This is the last piece of work for "formats in categories": we now cache formats as well as summaries and synthetics
llvm-svn: 192928
|
#
ce451cc3 |
| 15-Oct-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/15235492>
Extend DummySyntheticProvider to actually use debug-info vended children as the source of information Make Python synthetic children either be valid, or fallback to the dum
<rdar://problem/15235492>
Extend DummySyntheticProvider to actually use debug-info vended children as the source of information Make Python synthetic children either be valid, or fallback to the dummy, like their C++ counterparts
This allows LLDB to actually stop bailing out upon encountering an invalid synthetic children provider front-end, and still displaying the non synthetized ivar info
llvm-svn: 192741
show more ...
|
#
4cc21772 |
| 08-Oct-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/12632394>
Add a format for FourCharCode
This is now safe to do thanks to the "formats in categories" feature
llvm-svn: 192233
|
#
852cc954 |
| 08-Oct-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/11778815>
Formats (as in "type format") are now included in categories The only bit missing is caching formats along with synthetic children and summaries, which might be now desirab
<rdar://problem/11778815>
Formats (as in "type format") are now included in categories The only bit missing is caching formats along with synthetic children and summaries, which might be now desirable
llvm-svn: 192217
show more ...
|
#
1c127dfb |
| 05-Oct-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/15154623>
Several CF* data formatters were in the AppKit category This puts them back where they belong, i.e. in category CoreFoundation
llvm-svn: 192008
|
#
a29cb0ba |
| 04-Oct-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/12042982>
This radar extends the notion of one-liner summaries to automagically apply in a few interesting cases
More specifically, this checkin changes the printout of ValueObjects
<rdar://problem/12042982>
This radar extends the notion of one-liner summaries to automagically apply in a few interesting cases
More specifically, this checkin changes the printout of ValueObjects to print on one-line (as if type summary add -c had been applied) iff: this ValueObject does not have a summary its children have no synthetic children its children are not a non-empty base class without a summary its children do not have a summary that asks for children to show up the aggregate length of all the names of all the children is <= 50 characters you did not ask to see the types during a printout your pointer depth is 0
This is meant to simplify the way LLDB shows data on screen for small structs and similarly compact data types (e.g. std::pair<int,int> anyone?)
Feedback is especially welcome on how the feature feels and corner cases where we should apply this printout and don't (or viceversa, we are applying it when we shouldn't be)
llvm-svn: 191996
show more ...
|