summaryrefslogtreecommitdiffstats
path: root/llvm/test/Demangle/ms-basic.test
Commit message (Collapse)AuthorAgeFilesLines
* [MS Demangler] Re-write the Microsoft demangler.Zachary Turner2018-08-271-5/+2
| | | | | | | | | | | | | | | | | | | | This is a pretty large refactor / re-write of the Microsoft demangler. The previous one was a little hackish because it evolved as I was learning about all the various edge cases, exceptions, etc. It didn't have a proper AST and so there was lots of custom handling of things that should have been much more clean. Taking what was learned from that experience, it's now re-written with a completely redesigned and much more sensible AST. It's probably still not perfect, but at least it's comprehensible now to someone else who wants to come along and make some modifications or read the code. Incidentally, this fixed a couple of bugs, so I've enabled the tests which now pass. llvm-svn: 340710
* [MS Demangler] Properly demangle anonymous namespaces.Zachary Turner2018-08-201-0/+2
| | | | llvm-svn: 340237
* [MS Demangler] Print calling convention inside parentheses.Zachary Turner2018-07-261-4/+4
| | | | | | | | | | | | | | | For function pointers, we would print something like int __cdecl (*)(int) We need to move the calling convention inside, and print int (__cdecl *)(int) This patch implements this change for regular function pointers as well as member function pointers. llvm-svn: 338068
* [MS Demangler] Demangle pointers to member functions.Zachary Turner2018-07-261-5/+5
| | | | | | | | | | | After this patch, we can now properly demangle pointers to member functions. The calling convention is located in the wrong place, but this will be fixed in a followup since it also affects non member function pointers. Differential Revision: https://reviews.llvm.org/D49639 llvm-svn: 338065
* Add a Microsoft Demangler.Zachary Turner2018-07-201-0/+230
This adds initial support for a demangling library (LLVMDemangle) and tool (llvm-undname) for demangling Microsoft names. This doesn't cover 100% of cases and there are some known limitations which I intend to address in followup patches, at least until such time that we have (near) 100% test coverage matching up with all of the test cases in clang/test/CodeGenCXX/mangle-ms-*. Differential Revision: https://reviews.llvm.org/D49552 llvm-svn: 337584
OpenPOWER on IntegriCloud