summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/FastDemangle.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix all of the unannotated switch cases to annotate the fall through or do ↵Greg Clayton2016-02-261-0/+1
| | | | | | the right thing and break. llvm-svn: 261950
* Add -Wimplicit-fallthrough command line option to clang inJason Molenda2016-02-161-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the xcode project file to catch switch statements that have a case that falls through unintentionally. Define LLVM_FALLTHROUGH to indicate instances where a case has code and intends to fall through. This should be in llvm/Support/Compiler.h; Peter Collingbourne originally checked in there (r237766), then reverted (r237941) because he didn't have time to mark up all the 'case' statements that were intended to fall through. I put together a patch to get this back in llvm http://reviews.llvm.org/D17063 but it hasn't been approved in the past week. I added a new lldb-private-defines.h to hold the definition for now. Every place in lldb where there is a comment that the fall-through is intentional, I added LLVM_FALLTHROUGH to silence the warning. I haven't tried to identify whether the fallthrough is a bug or not in the other places. I haven't tried to add this to the cmake option build flags. This warning will only work for clang. This build cleanly (with some new warnings) on macosx with clang under xcodebuild, but if this causes problems for people on other configurations, I'll back it out. llvm-svn: 260930
* Fix typos.Bruce Mitchener2015-07-221-1/+1
| | | | | | | | | | | | Summary: Fix a bunch of typos. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11386 llvm-svn: 242856
* Guard against the case where the Write method is called withJason Molenda2015-04-301-2/+11
| | | | | | | | | | | an argument pointing into the middle of m_buffer and then Write() calls GrowBuffer() to resize m_buffer, leaving the content argument pointing into deallocated memory. Patch by Kate Stone. <rdar://problem/20756722> llvm-svn: 236286
* Improvements to FastDemangler to correct parsing of <local-name> encodings ↵Kate Stone2014-12-061-0/+4
| | | | | | for string literal and parameter/entity cases. Patch courtesy of slydiman. llvm-svn: 223569
* Put #if 0 blocks around three sections of code that are intentionallyJason Molenda2014-10-171-1/+7
| | | | | | | | | | | | unreachable so we don't get warnings about them. Completely initialize a structure instead of leaving some of its fields potentially indeterminate (although in reality they would all be set before use -- but the compiler warning doesn't know that). clang warning. llvm-svn: 220017
* Mechanical change to FastDemangle to make it closer to the lldbJason Molenda2014-10-151-645/+839
| | | | | | | coding conventions. Lots of whitespace et al changes but no content changes. llvm-svn: 219856
* Dramatically improves C++ demangling performance by introducing a new ↵Kate Stone2014-07-221-0/+2203
implementation that is much faster than the existing demangler. While not yet complete, the new demangler will fail gracefully when it encounters symbols it isn’t prepared to deal with. In these cases LLDB will fall back to using the full demangler to prevent a loss in functionality. On sizable code bases the fast path succeeds 95% of the time, providing a significant net win. The new implementation is located in source/Core/FastDemangle.cpp. It’s fairly straightforward C code with a few basic C++ extensions. It should compile with little or no change on a variety of platforms, but of course it is still only useful for symbols that comply with the Itanium ABI mangling spec (plus a few Clang extensions.) <rdar://problem/15397553> <rdar://problem/15794867> llvm-svn: 213671
OpenPOWER on IntegriCloud