summaryrefslogtreecommitdiffstats
path: root/lldb/source/DataFormatters/LibCxxMap.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Introduce a TypeSystem interface to support adding non-clang languages."Pavel Labath2015-06-081-1/+1
| | | | | | This seems to break expression evaluation on the linux build. llvm-svn: 239366
* Introduce a TypeSystem interface to support adding non-clang languages.Pavel Labath2015-06-081-1/+1
| | | | | | | | | | | | | Reviewers: clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8712 Original Author: Ryan Brown <ribrdb@google.com> llvm-svn: 239360
* Don't #include "lldb-python.h" from anywhere.Zachary Turner2015-05-291-2/+0
| | | | | | | | | | | | | Since interaction with the python interpreter is moving towards being more isolated, we won't be able to include this header from normal files anymore, all includes of it should be localized to the python library which will live under source/bindings/API/Python after a future patch. None of the files that were including this header actually depended on it anyway, so it was just a dead include in every single instance. llvm-svn: 238581
* Improve the performance of the libc++ std::map formatter. This is not the ↵Enrico Granata2014-12-161-87/+57
| | | | | | full solution to the slowness of this formatter, but it's a 5% improvement in our testcase performance, which I am not going to complain too hard about. llvm-svn: 224373
* This patch does a few things:Enrico Granata2014-12-091-1/+1
| | | | | | | | | | - adds a new flag to mark ValueObjects as "synthetic children generated" - vends new Create functions as part of the SyntheticChildrenFrontEnd that set the flag automatically - moves synthetic child providers over to using these new functions No visible feature change, but preparatory work for feature change llvm-svn: 223819
* Reorganize some of the data formatters code to simplify ↵Enrico Granata2014-10-221-0/+41
| | | | | | CXXFormattersFunction.h. Also, add a synthetic child provider for libc++'s version of std::initializer_list<T> llvm-svn: 220421
* Recent builds of libcxx actually wrap an std::map's children values in a ↵Enrico Granata2014-09-121-1/+29
| | | | | | union containing either a member named __cc, or either of __cc and __nc (const vs. non-const). This level of wrapping is quite useless for LLDB to show to people, so try to detect it, and filter it out llvm-svn: 217651
* Fix Windows build using portable types for formatting the log outputsDeepak Panickal2014-03-031-1/+1
| | | | llvm-svn: 202723
* Better error reporting when a variable can't beSean Callanan2014-02-281-1/+7
| | | | | | | | | | | read during materialization. First of all, report if we can't read the data for some reason. Second, consult the ValueObject's error and report that if there's some problem. <rdar://problem/16074201> llvm-svn: 202552
* Huge change to clean up types.Greg Clayton2013-07-111-3/+3
| | | | | | | | 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. llvm-svn: 186130
* Fix various build warnings.Matt Kopec2013-06-031-1/+3
| | | | llvm-svn: 183140
* Harden against potential empty nodes in the mapEnrico Granata2013-05-031-0/+2
| | | | llvm-svn: 181045
* <rdar://problem/13749871>Enrico Granata2013-05-031-4/+27
| | | | | | 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 llvm-svn: 181044
* Data formatters cleanup:Enrico Granata2013-03-261-2/+0
| | | | | | | | | | - 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 llvm-svn: 178057
* The formatters for std::shared_ptr, std::weak_ptr, std::list, std::vector ↵Enrico Granata2013-03-191-0/+384
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 llvm-svn: 177454
OpenPOWER on IntegriCloud