summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support
diff options
context:
space:
mode:
authorNick Kledzik <kledzik@apple.com>2014-09-30 23:15:39 +0000
committerNick Kledzik <kledzik@apple.com>2014-09-30 23:15:39 +0000
commitbe43d7ef29a6034a54c374ec619b251f18d4161a (patch)
tree3417c3a9d546256545eb3357617151d3e8309674 /llvm/lib/Support
parentffb650856d48262ac78c1eb61f634f528c6a35d1 (diff)
downloadbcm5719-llvm-be43d7ef29a6034a54c374ec619b251f18d4161a.tar.gz
bcm5719-llvm-be43d7ef29a6034a54c374ec619b251f18d4161a.zip
[mach-o] Implement -demangle.
The darwin linker has the -demangle option which directs it to demangle C++ (and soon Swift) mangled symbol names. Long term we need some Diagnostics object for formatting errors and warnings. But for now we have the Core linker just writing messages to llvm::errs(). So, to enable demangling, I changed the Resolver to call a LinkingContext method on the symbol name. To make this more interesting, the demangling code is done via __cxa_demangle() which is part of the C++ ABI, which is only supported on some platforms, so I had to conditionalize the code with the config generated HAVE_CXXABI_H. llvm-svn: 218718
Diffstat (limited to 'llvm/lib/Support')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud