1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/test/Demangle/ms-templates-memptrs-2.test
Zachary Turner b7710f8516 [MS Demangler] Re-write the Microsoft demangler.
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
2018-08-27 03:48:03 +00:00

31 lines
820 B
Plaintext

; RUN: llvm-undname < %s | FileCheck %s
; CHECK-NOT: Invalid mangled name
?m@@3U?$J@UM@@$0A@@@A
; CHECK: struct J<struct M, 0> m
?m2@@3U?$K@UM@@$0?0@@A
; CHECK: struct K<struct M, -1> m2
?n@@3U?$J@UN@@$HA@@@A
; CHECK: struct J<struct N, {0}> n
?n2@@3U?$K@UN@@$0?0@@A
; CHECK: struct K<struct N, -1> n2
?o@@3U?$J@UO@@$IA@A@@@A
; CHECK: struct J<struct O, {0, 0}> o
?o2@@3U?$K@UO@@$FA@?0@@A
; CHECK: struct K<struct O, {0, -1}> o2
?p@@3U?$J@UP@@$JA@A@?0@@A
; CHECK: struct J<struct P, {0, 0, -1}> p
?p2@@3U?$K@UP@@$GA@A@?0@@A
; CHECK: struct K<struct P, {0, 0, -1}> p2
??0?$ClassTemplate@$J??_9MostGeneral@@$BA@AEA@M@3@@QAE@XZ
; CHECK: __thiscall ClassTemplate<{[thunk]: __thiscall MostGeneral::`vcall'{0, {flat}}, 0, 12, 4}>::ClassTemplate<{[thunk]: __thiscall MostGeneral::`vcall'{0, {flat}}, 0, 12, 4}>(void)