llvm-project/llvm/lib
Rafael Espindola b940b66c60 Add an c++ itanium demangler to llvm.
This adds a copy of the demangler in libcxxabi.

The code also has no dependencies on anything else in LLVM. To enforce
that I added it as another library. That way a BUILD_SHARED_LIBS will
fail if anyone adds an use of StringRef for example.

The no llvm dependency combined with the fact that this has to build
on linux, OS X and Windows required a few changes to the code. In
particular:

    No constexpr.
    No alignas

On OS X at least this library has only one global symbol:
__ZN4llvm16itanium_demangleEPKcPcPmPi

My current plan is:

    Commit something like this
    Change lld to use it
    Change lldb to use it as the fallback

    Add a few #ifdefs so that exactly the same file can be used in
    libcxxabi to export abi::__cxa_demangle.

Once the fast demangler in lldb can handle any names this
implementation can be replaced with it and we will have the one true
demangler.

llvm-svn: 280732
2016-09-06 19:16:48 +00:00
..
Analysis [LCG] Clean up and make NDEBUG verify calls more rigorous with 2016-09-04 08:34:31 +00:00
AsmParser DebugInfo: use strongly typed enum for debug info flags 2016-09-06 10:46:28 +00:00
Bitcode Formatting with clang-format patch r280700 2016-09-06 17:03:02 +00:00
CodeGen [SelectionDAG] Simplify extract_subvector( insert_subvector ( Vec, In, Idx ), Idx ) -> In 2016-09-06 16:42:05 +00:00
DebugInfo [codeview] Use the correct max CV record length of 0xFF00 2016-09-02 18:43:27 +00:00
Demangle Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00
ExecutionEngine [ORC] Clone module flags metadata into the globals module in the 2016-09-04 17:53:30 +00:00
Fuzzer [libFuzzer] add -minimize_crash flag (to minimize crashers). also add two tests that I failed to commit last time 2016-09-01 01:22:27 +00:00
IR Formatting with clang-format patch r280700 2016-09-06 17:03:02 +00:00
IRReader
LTO [LTO] Constify (NFC) 2016-09-06 03:23:45 +00:00
LibDriver Object: Replace NewArchiveIterator with a simpler NewArchiveMember class. NFCI. 2016-06-29 22:27:42 +00:00
LineEditor Fix Clang-tidy modernize-deprecated-headers warnings in some files; other minor fixes. 2016-03-28 17:40:08 +00:00
Linker Fix ThinLTO crash with debug info 2016-09-03 21:12:33 +00:00
MC (LLVM part) Implement MASM-flavor intel syntax behavior for inline MS asm block: 2016-09-02 23:15:29 +00:00
Object Next set of additional error checks for invalid Mach-O files for bad load commands 2016-08-31 17:57:46 +00:00
ObjectYAML [macho2yaml] Don't write empty linkedit data 2016-08-17 21:46:04 +00:00
Option Replace "fallthrough" comments with LLVM_FALLTHROUGH 2016-08-17 05:10:15 +00:00
Passes [EarlyCSE] Optionally use MemorySSA. NFC. 2016-08-31 19:24:10 +00:00
ProfileData [Coverage] Make sorting criteria for CounterMappingRegions local. 2016-08-31 07:01:17 +00:00
Support Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00
TableGen Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes. 2016-08-23 17:14:32 +00:00
Target [MCTargetDesc] Delete dead code. Found by GCC7 -Wunused-function. 2016-09-06 18:02:09 +00:00
Transforms fix formatting; NFC 2016-09-06 18:16:31 +00:00
CMakeLists.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00
LLVMBuild.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00