History log of /external/libcxxabi/src/cxa_demangle.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
52cf98bc52a16fba2139909ad01b3f1b364ce401 30-Jul-2015 Daniel Sanders <daniel.sanders@imgtec.com> [libcxxabi][mips] Correct float_data::mangled_size for all ABI's.

Summary:
Patch by Nitesh Jain and Jaydeep Patil with a small revision to use ABIs rather
than Architecture Revisions (which currently imply particular ABIs).

Fixes test_demangle.pass.cpp (PR24149).

Subscribers: mclow.lists, jaydeep, nitesh.jain, hans, cfe-commits

Differential Revision: http://reviews.llvm.org/D11483

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@243645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
3b8762ae1660e5995ab93e0e73d1310813f807d1 27-May-2015 Chaoren Lin <chaorenl@google.com> Make sure !empty() before calling String::front().

Reviewers: howard.hinnant

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D9954

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@238263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
b2cceca1296516dad3fbd93c988bbff1fd71cd7a 27-Apr-2015 Saleem Abdulrasool <compnerd@compnerd.org> libc++abi: remove unused variable

The externC variable was set but unused. This constantly flagged a warning from
gcc. Replace it with a comment until such a time that we need it.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@235830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
2493be607e71d8f309eed09b874ae97cdc248a96 27-Apr-2015 Saleem Abdulrasool <compnerd@compnerd.org> libc++abi: silence some warnings

Cleans up the -Wundef warning caused by the use of the __LITTLE_ENDIAN__ macro.
Instead use `__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__`. `__BYTE_ORDER__` is
defined by GCC since 4.2 and by clang. This avoids the undef case where a macro
may be undefined. This has previously caught real errors in libunwind.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@235828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
196cbd71b3ecb7e32149e1495f871be55bb02e24 19-Mar-2015 Ed Schouten <ed@nuxi.nl> Don't print debugging messages to stdout.

There is some debugging code in cxa_demangle.cpp that prints messages on
stdout. In general this is not safe, as the program itself may use
stdout to write its output. Change this code to write to stderr.

Differential Revision: http://reviews.llvm.org/D8167


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@232716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
faf34fbbbbb5956d6da2661a00f5c6b5aefcfe55 05-Mar-2015 Nick Lewycky <nicholas@mxc.ca> Fix build with GCC:
- GCC doesn't support #pragma mark, only Apple GCC and clang. Wrap the pragma mark's in #if 0 to make gcc ignore them but xcode still see them.
- Wrap a bunch of "#pragma clang" lines in #ifdef __clang__.
- Pacify gcc's -Wparenthesis in a case where it's quite reasonable.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@231344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
298baa3ce6fa6408151f224bba25fb485d9dffe8 26-Jun-2014 Nico Weber <nicolasweber@gmx.de> Minor libc++abi changes to make things build better with gcc.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@211748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
2b683fb0b15d8a56537640c5c9d8073da55e5871 30-May-2014 Nico Weber <nicolasweber@gmx.de> Let libc++abi compile with gcc.

There was a single problem in cxa_demangle.cpp, where gcc would complain
`error: changes meaning of 'String'` about the line `typedef String String;`.
According to 3.3.7p2, this diagnostic is allowed (but not required, so clang
does not have to report this).

As a fix, make string_pair a template and pass String as template parameter.
This fixes the error with gcc and also removes some repetition from the code.

No behavior change.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@209909 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
24ecd0992aeaf3e16c034053054bda0581e292f4 12-May-2014 Richard Smith <richard-llvm@metafoo.co.uk> PR19091: Track whether we're demangling a function template specialization to
determine whether we get a mangling for a return type, rather than trying to
figure it out based on whether the mangled name ended with a '>'.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
05d51bcf07d0ec1c40785b4a860fd917410b4be1 10-May-2014 Logan Chien <tzuhsiang.chien@gmail.com> Implement ARM EHABI exception handling.

This commit implements the ARM zero-cost exception handling
support for libc++abi.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
2950e56d0fb30123dc93a55dc92f5a903c2bec13 17-Feb-2014 Anders Carlsson <andersca@mac.com> Demangle Dc to decltype(auto) as per the Itanium C++ ABI spec.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@201533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
f29757a358ae9c07d3a768a5b40543fae9d768dd 07-Jan-2014 Howard Hinnant <hhinnant@apple.com> Implement demangling for user-defined operators.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@198643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
753a30dd68ae008948d48f16bc942d5963fe65a1 11-Dec-2013 Howard Hinnant <hhinnant@apple.com> Fix demangling crasher. The crasher involved nested <encoding> involving parameter packs, which exposed a logic bug causing an empty vector<string> to be accessed with back(). In addition to fixing the bug, I've inserted numerous preemptive checks for similar bugs in the hopes that if another bug is uncovered, the bug results in an invalid mangled string instead of a demangler crash. Test suite updated with string that was causing the crash.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@197063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
061240c142debbe643c5ce78673f019f1c953511 22-Oct-2013 Howard Hinnant <hhinnant@apple.com> Move local Db type out to namespace scope.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@193169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
8ad6a220cfff34f8ecbadc142891c7728c4d4ed8 27-Jul-2013 Howard Hinnant <hhinnant@apple.com> I had a buffer mismanagement bug in the demangler.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@187255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
b2d1f94e76c016628f868868ed40a53c2b40b6ed 23-Jun-2013 Howard Hinnant <hhinnant@apple.com> I'd no sooner made the last commit when Matthew Dempsky sent me another test case that led me to yet another closely related test case that the current design could not handle. I've now changed the way forward references are handled completely. It wasn't that much code to change. The demangler, when confronted with a forward reference to a template parameter, now parses things twice. During the second parse, all forward references are remembered from the first parse. Test suite updated with new case.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
eb8d46c54e181eea4d33b96a9a13e2ac0bd329a8 23-Jun-2013 Howard Hinnant <hhinnant@apple.com> After a private conversation with Arthur O'Dwyer, and a good night's sleep, I believe this fix is a better fix than what I committed in r184656 yesterday. I've basically moved the checking for '`' from the start of the demangling process to the end of it. In the process I discovered that one of the test cases no longer demangled to the expected string. After further investigation I believe this case to not be a valid mangled string, and so I moved the test case to the 'invalid cases'. The reason I believe it is invalid is that it should use T_ instead of T0_ to index the template parameter.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
ab8cfb1dfb4bb7e5c8294a81639f08b7ff14ade9 23-Jun-2013 Howard Hinnant <hhinnant@apple.com> Filter out '`' in mangled strings and reject them as invalid if found.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
f672517e714ff464978992a363dce47de2207472 21-Jun-2013 Howard Hinnant <hhinnant@apple.com> I created a random mangled name generator and have thrown about 200 million random strings at the demangler. I succeeded in crashing it twice more and those crashers have been fixed and the test suite updated with the crash cases.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
93433df2421f377a55478d20c8a67b8f835380f5 20-Jun-2013 Howard Hinnant <hhinnant@apple.com> Another demangler crasher. Updated test suite to prevent regression.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
b4033ff8b4db60bbd7f2498d85fd7c4dd0ad5b11 20-Jun-2013 Howard Hinnant <hhinnant@apple.com> Protect against invalid mangled names. Add test suite for invalid mangled names.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
19e36dddb0023fad0c609328e6686d1bbbced718 19-Jun-2013 Howard Hinnant <hhinnant@apple.com> Demangle objc mangling implemented in r184250

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
c62cbea03e7fb9df073bc965d3f7fc5ca5a39438 17-Jun-2013 Howard Hinnant <hhinnant@apple.com> Tweaks/cleanups provided by Matthew Dempsky

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
6c33e768c1b37af3e5d5f9f0e2a72fcf1dc51382 17-Jun-2013 Howard Hinnant <hhinnant@apple.com> Demangler update: This now demangles many more (all?) C++11 symbols. Demangler tests updated.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
5dd173b3792e868a7ebfa699d156f24075eafc01 10-Apr-2013 Howard Hinnant <hhinnant@apple.com> Add capability to demangle invocation functions for ObjC blocks.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@179208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
fc715856f64d44b5a4a1be0264653afb64da1a0e 05-Dec-2012 Daniel Malea <daniel.malea@intel.com> Rename class __lambda_node to ___lambda_node to fix compile failure with gcc 4.6 and 4.7
- using "__lambda_node" causes internal compiler error in newer GCC versions



git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@169402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
342f2f9ffa476d63a1fe1fa718b3243db2c7c5a7 30-Nov-2012 Howard Hinnant <hhinnant@apple.com> __list::ends_with_template was giving the wrong answer for empty lists. And __parse_unnamed_type_name wasn't properly handling the list of paramters and was not safe against incorrectly mangled lambdas (running past last).

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@169022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
aab600ca0c9b5bae8c07051db2d675991e90d002 21-Sep-2012 Howard Hinnant <hhinnant@apple.com> Rename class __lambda to __lambda_node to avoid clash with gcc. This fixes http://llvm.org/bugs/show_bug.cgi?id=13889

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@164405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
86ccacd40f5ebb800066928cee322d318255c8ad 14-Sep-2012 Howard Hinnant <hhinnant@apple.com> Specifically disallow primary-expressions of the form LT_... on the basis of this decition: http://sourcerytools.com/pipermail/cxx-abi-dev/2011-August/002422.html . Failure to disallow this was causing infinite recursion in the demangler when these symbols show up due to mangling bugs. This patch causes the demangler to return an invalid mangled name result rather than crash in infinite recursion.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@163859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
20300c77d8c91266e409eef27568a582fe9ba4a0 04-Aug-2012 Howard Hinnant <hhinnant@apple.com> Fixes apple: #12020687. This was a problem in the demangler with template
substitution forward references. That is, sometimes a mangled name refers to
a substitution that hasn't yet been defined. The demangler was derferencing a
null pointer in this case because it wasn't properly guarded against a
forward reference. Test case added to catch this problem.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@161267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
ab0399980a3ced1a64840c1dd71cfaed42a33c8c 01-Aug-2012 Howard Hinnant <hhinnant@apple.com> Erik Olofsson: This patch adds support for lambda demangling. I fixed this because it crashed lldb when it tried to demangle the added test.

Not sure how it should identify the lambda so that might need changing from the current 'lambdax':: Howard: Please patch CREDITS.TXT.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@161125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
cdb1d55e23b046f1eda9814fe9e73675e62ba060 29-Jul-2012 Howard Hinnant <hhinnant@apple.com> Andrew Morrow: The variable 't1' on line 10188 of cxa_demangle.cpp is uninitialized
which generates -Wsometimes-uninitialized. Howard: The only thing this patch is missing is an update to CREDITS.TXT.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@160932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
08115e4bef43187ccc847abae1ebf88607d65fc7 15-Jun-2012 Howard Hinnant <hhinnant@apple.com> Don't dereference root in __parse_ctor_dtor_name unless it is known to not be null.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@158556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
1c8066cf848e2b4ee1ddcb21efe8bd9c115453d9 02-May-2012 Howard Hinnant <hhinnant@apple.com> Fix bug in cxa_demangle involving template substitution.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@155994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
219b371bb323f60ffd88f87c58732739bccee649 18-Apr-2012 Howard Hinnant <hhinnant@apple.com> Richard Smith: __int128 is a GNU keyword which clang 3.1 supports. This usage of it as an identifier will need to be renamed.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@155044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
96f01710bc5b9c37765f60b9a2e12327d2463d65 09-Mar-2012 Howard Hinnant <hhinnant@apple.com> Enable / silence -Wunused-parameter.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
30a486dae26f8b80f8a6b3a55415783b80a1734a 08-Mar-2012 Howard Hinnant <hhinnant@apple.com> Enable/silence -Wsign-compare.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
85bc82e6d9dd6447c2eb8414cd3ce650cfa0091a 08-Mar-2012 Howard Hinnant <hhinnant@apple.com> Enable/silence -Wconversion.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
3e5c7d0cdb8e17531d5d09f5df1d4ed85d84f356 08-Mar-2012 Howard Hinnant <hhinnant@apple.com> Enable/silence -Wsign-conversion.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
0240685ed6756ee0eed7c76e37eb2abdc01dcf82 02-Feb-2012 Howard Hinnant <hhinnant@apple.com> Work on restricting symbol visibility.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
ab87dcf97e2bba2b2b9aadc0877ebd3b8d7cab42 15-Dec-2011 Howard Hinnant <hhinnant@apple.com> Fixed several bugs, implemented support for vector types, and cleaned out dead code.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
5ee51a7062e0973ac1d8b2d44598bf9e69bb08f0 13-Dec-2011 Howard Hinnant <hhinnant@apple.com> Fix size calculation for pointer to member function

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
f270035a31a0abd92c1592ba0e87db0016127c3e 09-Dec-2011 Howard Hinnant <hhinnant@apple.com> Added support for <special-name> ::= TC <first type> <number> _ <second type> # construction vtable for second-in-first, and for <special-name> ::= GR <object name> # reference temporary for object

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
f2888967f1c99bd49d64b56b91b68962a65f7df9 01-Dec-2011 Howard Hinnant <hhinnant@apple.com> Updated heuristic regulating small string buffer

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@145543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
8ffc845e3f13335fb171858f935aec35c461e54a 28-Nov-2011 Howard Hinnant <hhinnant@apple.com> Add alignment requirement to char buffer

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@145277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
89df8ad0d1bad867aeddf9cafe85b921eac31eba 12-Aug-2011 Howard Hinnant <hhinnant@apple.com> demangler: Drop preceeding () from function types, but not from pointers and references to function types

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@137469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
bb8d048ac08a960d5f3b3c9bc02774bb23665e3a 08-Aug-2011 Howard Hinnant <hhinnant@apple.com> Silence some -Wall warnings pointed out by Marshall Clow

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@137047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
889b02d72d523ba716ce08403c284e60f0a9431d 22-Jun-2011 Howard Hinnant <hhinnant@apple.com> In cxa_demangle.cpp, rewrite __parse_unresolved_name to reflect updated understanding and sync with updated clang mangling. Also fix think-o in __parse_encoding enabling the parsing of trailing .eh and .b.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@133632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp
d213ffdf3befead3b8f5a0ba12ce1c2d9949525b 05-May-2011 Howard Hinnant <hhinnant@apple.com> initial import

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@130921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_demangle.cpp