| ; RUN: llvm-undname < %s | FileCheck %s | |
| ; CHECK-NOT: Invalid mangled name | |
| ??_C@_01CNACBAHC@?$PP?$AA@ | |
| ??_C@_01DEBJCBDD@?$PO?$AA@ | |
| ??_C@_01BPDEHCPA@?$PN?$AA@ | |
| ??_C@_01GCPEDLB@?$PM?$AA@ | |
| ??_C@_01EJGONFHG@?$PL?$AA@ | |
| ??_C@_01FAHFOEDH@?z?$AA@ | |
| ??_C@_01HLFILHPE@?y?$AA@ | |
| ??_C@_01GCEDIGLF@?x?$AA@ | |
| ??_C@_01OFNLJKHK@?w?$AA@ | |
| ??_C@_01PMMAKLDL@?v?$AA@ | |
| ??_C@_01NHONPIPI@?u?$AA@ | |
| ??_C@_01MOPGMJLJ@?t?$AA@ | |
| ??_C@_01IBLHFPHO@?s?$AA@ | |
| ??_C@_01JIKMGODP@?r?$AA@ | |
| ??_C@_01LDIBDNPM@?q?$AA@ | |
| ??_C@_01KKJKAMLN@?p?$AA@ | |
| ??_C@_01GHMAACCD@?o?$AA@ | |
| ??_C@_01HONLDDGC@?n?$AA@ | |
| ??_C@_01FFPGGAKB@?m?$AA@ | |
| ??_C@_01EMONFBOA@?l?$AA@ | |
| ??_C@_01DKMMHCH@?k?$AA@ | |
| ??_C@_01BKLHPGGG@?j?$AA@ | |
| ??_C@_01DBJKKFKF@?i?$AA@ | |
| ??_C@_01CIIBJEOE@?h?$AA@ | |
| ??_C@_01KPBJIICL@?g?$AA@ | |
| ??_C@_01LGACLJGK@?f?$AA@ | |
| ??_C@_01JNCPOKKJ@?e?$AA@ | |
| ??_C@_01IEDENLOI@?d?$AA@ | |
| ??_C@_01MLHFENCP@?c?$AA@ | |
| ??_C@_01NCGOHMGO@?b?$AA@ | |
| ??_C@_01PJEDCPKN@?a?$AA@ | |
| ??_C@_01OAFIBOOM@?$OA?$AA@ | |
| ??_C@_01LIIGDENA@?$NP?$AA@ | |
| ??_C@_01KBJNAFJB@?$NO?$AA@ | |
| ??_C@_01IKLAFGFC@?$NN?$AA@ | |
| ??_C@_01JDKLGHBD@?$NM?$AA@ | |
| ??_C@_01NMOKPBNE@?$NL?$AA@ | |
| ??_C@_01MFPBMAJF@?Z?$AA@ | |
| ??_C@_01OONMJDFG@?Y?$AA@ | |
| ??_C@_01PHMHKCBH@?X?$AA@ | |
| ??_C@_01HAFPLONI@?W?$AA@ | |
| ??_C@_01GJEEIPJJ@?V?$AA@ | |
| ??_C@_01ECGJNMFK@?U?$AA@ | |
| ??_C@_01FLHCONBL@?T?$AA@ | |
| ??_C@_01BEDDHLNM@?S?$AA@ | |
| ??_C@_01NCIEKJN@?R?$AA@ | |
| ??_C@_01CGAFBJFO@?Q?$AA@ | |
| ??_C@_01DPBOCIBP@?P?$AA@ | |
| ??_C@_01PCEECGIB@?O?$AA@ | |
| ??_C@_01OLFPBHMA@?N?$AA@ | |
| ??_C@_01MAHCEEAD@?M?$AA@ | |
| ??_C@_01NJGJHFEC@?L?$AA@ | |
| ??_C@_01JGCIODIF@?K?$AA@ | |
| ??_C@_01IPDDNCME@?J?$AA@ | |
| ??_C@_01KEBOIBAH@?I?$AA@ | |
| ??_C@_01LNAFLAEG@?H?$AA@ | |
| ??_C@_01DKJNKMIJ@?G?$AA@ | |
| ??_C@_01CDIGJNMI@?F?$AA@ | |
| ??_C@_01IKLMOAL@?E?$AA@ | |
| ??_C@_01BBLAPPEK@?D?$AA@ | |
| ??_C@_01FOPBGJIN@?C?$AA@ | |
| ??_C@_01EHOKFIMM@?B?$AA@ | |
| ??_C@_01GMMHALAP@?A?$AA@ | |
| ??_C@_01HFNMDKEO@?$MA?$AA@ | |
| ??_C@_01NNHLFPHH@?$LP?$AA@ | |
| ??_C@_01MEGAGODG@?$LO?$AA@ | |
| ??_C@_01OPENDNPF@?$LN?$AA@ | |
| ??_C@_01PGFGAMLE@?$LM?$AA@ | |
| ??_C@_01LJBHJKHD@?$LL?$AA@ | |
| ??_C@_01KAAMKLDC@?$LK?$AA@ | |
| ??_C@_01ILCBPIPB@?$LJ?$AA@ | |
| ??_C@_01JCDKMJLA@?$LI?$AA@ | |
| ??_C@_01BFKCNFHP@?$LH?$AA@ | |
| ??_C@_01MLJOEDO@?$LG?$AA@ | |
| ??_C@_01CHJELHPN@?$LF?$AA@ | |
| ??_C@_01DOIPIGLM@?$LE?$AA@ | |
| ??_C@_01HBMOBAHL@?$LD?$AA@ | |
| ??_C@_01GINFCBDK@?$LC?$AA@ | |
| ??_C@_01EDPIHCPJ@?$LB?$AA@ | |
| ??_C@_01FKODEDLI@?$LA?$AA@ | |
| ??_C@_01JHLJENCG@?$KP?$AA@ | |
| ??_C@_01IOKCHMGH@?$KO?$AA@ | |
| ??_C@_01KFIPCPKE@?$KN?$AA@ | |
| ??_C@_01LMJEBOOF@?$KM?$AA@ | |
| ??_C@_01PDNFIICC@?$KL?$AA@ | |
| ??_C@_01OKMOLJGD@?$KK?$AA@ | |
| ??_C@_01MBODOKKA@?$KJ?$AA@ | |
| ??_C@_01NIPINLOB@?$KI?$AA@ | |
| ??_C@_01FPGAMHCO@?$KH?$AA@ | |
| ??_C@_01EGHLPGGP@?$KG?$AA@ | |
| ??_C@_01GNFGKFKM@?$KF?$AA@ | |
| ??_C@_01HEENJEON@?$KE?$AA@ | |
| ??_C@_01DLAMACCK@?$KD?$AA@ | |
| ??_C@_01CCBHDDGL@?$KC?$AA@ | |
| ??_C@_01JDKGAKI@?$KB?$AA@ | |
| ??_C@_01BACBFBOJ@?$KA?$AA@ | |
| ??_C@_01EIPPHLNF@?$JP?$AA@ | |
| ??_C@_01FBOEEKJE@?$JO?$AA@ | |
| ??_C@_01HKMJBJFH@?$JN?$AA@ | |
| ??_C@_01GDNCCIBG@?$JM?$AA@ | |
| ??_C@_01CMJDLONB@?$JL?$AA@ | |
| ??_C@_01DFIIIPJA@?$JK?$AA@ | |
| ??_C@_01BOKFNMFD@?$JJ?$AA@ | |
| ??_C@_01HLOONBC@?$JI?$AA@ | |
| ??_C@_01IACGPBNN@?$JH?$AA@ | |
| ??_C@_01JJDNMAJM@?$JG?$AA@ | |
| ??_C@_01LCBAJDFP@?$JF?$AA@ | |
| ??_C@_01KLALKCBO@?$JE?$AA@ | |
| ??_C@_01OEEKDENJ@?$JD?$AA@ | |
| ??_C@_01PNFBAFJI@?$JC?$AA@ | |
| ??_C@_01NGHMFGFL@?$JB?$AA@ | |
| ??_C@_01MPGHGHBK@?$JA?$AA@ | |
| ??_C@_01CDNGJIE@?$IP?$AA@ | |
| ??_C@_01BLCGFIMF@?$IO?$AA@ | |
| ??_C@_01DAALALAG@?$IN?$AA@ | |
| ??_C@_01CJBADKEH@?$IM?$AA@ | |
| ??_C@_01GGFBKMIA@?$IL?$AA@ | |
| ??_C@_01HPEKJNMB@?$IK?$AA@ | |
| ??_C@_01FEGHMOAC@?$IJ?$AA@ | |
| ??_C@_01ENHMPPED@?$II?$AA@ | |
| ??_C@_01MKOEODIM@?$IH?$AA@ | |
| ??_C@_01NDPPNCMN@?$IG?$AA@ | |
| ??_C@_01PINCIBAO@?$IF?$AA@ | |
| ??_C@_01OBMJLAEP@?$IE?$AA@ | |
| ??_C@_01KOIICGII@?$ID?$AA@ | |
| ??_C@_01LHJDBHMJ@?$IC?$AA@ | |
| ??_C@_01JMLOEEAK@?$IB?$AA@ | |
| ??_C@_01IFKFHFEL@?$IA?$AA@ | |
| ??_C@_01BGIBIIDJ@?$HP?$AA@ | |
| ??_C@_01PJKLJHI@?$HO?$AA@ | |
| ??_C@_01CELHOKLL@?$HN?$AA@ | |
| ??_C@_01DNKMNLPK@?$HM?$AA@ | |
| ??_C@_01HCONENDN@?$HL?$AA@ | |
| ??_C@_01GLPGHMHM@z?$AA@ | |
| ??_C@_01EANLCPLP@y?$AA@ | |
| ??_C@_01FJMABOPO@x?$AA@ | |
| ??_C@_01NOFIACDB@w?$AA@ | |
| ??_C@_01MHEDDDHA@v?$AA@ | |
| ??_C@_01OMGOGALD@u?$AA@ | |
| ??_C@_01PFHFFBPC@t?$AA@ | |
| ??_C@_01LKDEMHDF@s?$AA@ | |
| ??_C@_01KDCPPGHE@r?$AA@ | |
| ??_C@_01IIACKFLH@q?$AA@ | |
| ??_C@_01JBBJJEPG@p?$AA@ | |
| ??_C@_01FMEDJKGI@o?$AA@ | |
| ??_C@_01EFFIKLCJ@n?$AA@ | |
| ??_C@_01GOHFPIOK@m?$AA@ | |
| ??_C@_01HHGOMJKL@l?$AA@ | |
| ??_C@_01DICPFPGM@k?$AA@ | |
| ??_C@_01CBDEGOCN@j?$AA@ | |
| ??_C@_01KBJDNOO@i?$AA@ | |
| ??_C@_01BDACAMKP@h?$AA@ | |
| ??_C@_01JEJKBAGA@g?$AA@ | |
| ??_C@_01INIBCBCB@f?$AA@ | |
| ??_C@_01KGKMHCOC@e?$AA@ | |
| ??_C@_01LPLHEDKD@d?$AA@ | |
| ??_C@_01PAPGNFGE@c?$AA@ | |
| ??_C@_01OJONOECF@b?$AA@ | |
| ??_C@_01MCMALHOG@a?$AA@ | |
| ??_C@_01NLNLIGKH@?$GA?$AA@ | |
| ??_C@_01IDAFKMJL@_?$AA@ | |
| ??_C@_01JKBOJNNK@?$FO?$AA@ | |
| ??_C@_01LBDDMOBJ@?$FN?$AA@ | |
| ??_C@_01KICIPPFI@?2?$AA@ | |
| ??_C@_01OHGJGJJP@?$FL?$AA@ | |
| ??_C@_01POHCFINO@Z?$AA@ | |
| ??_C@_01NFFPALBN@Y?$AA@ | |
| ??_C@_01MMEEDKFM@X?$AA@ | |
| ??_C@_01ELNMCGJD@W?$AA@ | |
| ??_C@_01FCMHBHNC@V?$AA@ | |
| ??_C@_01HJOKEEBB@U?$AA@ | |
| ??_C@_01GAPBHFFA@T?$AA@ | |
| ??_C@_01CPLAODJH@S?$AA@ | |
| ??_C@_01DGKLNCNG@R?$AA@ | |
| ??_C@_01BNIGIBBF@Q?$AA@ | |
| ??_C@_01EJNLAFE@P?$AA@ | |
| ??_C@_01MJMHLOMK@O?$AA@ | |
| ??_C@_01NANMIPIL@N?$AA@ | |
| ??_C@_01PLPBNMEI@M?$AA@ | |
| ??_C@_01OCOKONAJ@L?$AA@ | |
| ??_C@_01KNKLHLMO@K?$AA@ | |
| ??_C@_01LELAEKIP@J?$AA@ | |
| ??_C@_01JPJNBJEM@I?$AA@ | |
| ??_C@_01IGIGCIAN@H?$AA@ | |
| ??_C@_01BBODEMC@G?$AA@ | |
| ??_C@_01BIAFAFID@F?$AA@ | |
| ??_C@_01DDCIFGEA@E?$AA@ | |
| ??_C@_01CKDDGHAB@D?$AA@ | |
| ??_C@_01GFHCPBMG@C?$AA@ | |
| ??_C@_01HMGJMAIH@B?$AA@ | |
| ??_C@_01FHEEJDEE@A?$AA@ | |
| ??_C@_01EOFPKCAF@?$EA?$AA@ | |
| ??_C@_01OGPIMHDM@?$DP?$AA@ | |
| ??_C@_01PPODPGHN@?$DO?$AA@ | |
| ??_C@_01NEMOKFLO@?$DN?$AA@ | |
| ??_C@_01MNNFJEPP@?$DM?$AA@ | |
| ??_C@_01ICJEACDI@?$DL?$AA@ | |
| ??_C@_01JLIPDDHJ@?3?$AA@ | |
| ??_C@_01LAKCGALK@9?$AA@ | |
| ??_C@_01KJLJFBPL@8?$AA@ | |
| ??_C@_01COCBENDE@7?$AA@ | |
| ??_C@_01DHDKHMHF@6?$AA@ | |
| ??_C@_01BMBHCPLG@5?$AA@ | |
| ??_C@_01FAMBOPH@4?$AA@ | |
| ??_C@_01EKENIIDA@3?$AA@ | |
| ??_C@_01FDFGLJHB@2?$AA@ | |
| ??_C@_01HIHLOKLC@1?$AA@ | |
| ??_C@_01GBGANLPD@0?$AA@ | |
| ??_C@_01KMDKNFGN@?1?$AA@ | |
| ??_C@_01LFCBOECM@?4?$AA@ | |
| ??_C@_01JOAMLHOP@?9?$AA@ | |
| ??_C@_01IHBHIGKO@?0?$AA@ | |
| ??_C@_01MIFGBAGJ@?$CL?$AA@ | |
| ??_C@_01NBENCBCI@?$CK?$AA@ | |
| ??_C@_01PKGAHCOL@?$CJ?$AA@ | |
| ??_C@_01ODHLEDKK@?$CI?$AA@ | |
| ??_C@_01GEODFPGF@?8?$AA@ | |
| ??_C@_01HNPIGOCE@?$CG?$AA@ | |
| ??_C@_01FGNFDNOH@?$CF?$AA@ | |
| ??_C@_01EPMOAMKG@$?$AA@ | |
| ??_C@_01IPJKGB@?$CD?$AA@ | |
| ??_C@_01BJJEKLCA@?$CC?$AA@ | |
| ??_C@_01DCLJPIOD@?$CB?$AA@ | |
| ??_C@_01CLKCMJKC@?5?$AA@ | |
| ??_C@_01HDHMODJO@?$BP?$AA@ | |
| ??_C@_01GKGHNCNP@?$BO?$AA@ | |
| ??_C@_01EBEKIBBM@?$BN?$AA@ | |
| ??_C@_01FIFBLAFN@?$BM?$AA@ | |
| ??_C@_01BHBACGJK@?$BL?$AA@ | |
| ??_C@_01OALBHNL@?$BK?$AA@ | |
| ??_C@_01CFCGEEBI@?$BJ?$AA@ | |
| ??_C@_01DMDNHFFJ@?$BI?$AA@ | |
| ??_C@_01LLKFGJJG@?$BH?$AA@ | |
| ??_C@_01KCLOFINH@?$BG?$AA@ | |
| ??_C@_01IJJDALBE@?$BF?$AA@ | |
| ??_C@_01JAIIDKFF@?$BE?$AA@ | |
| ??_C@_01NPMJKMJC@?$BD?$AA@ | |
| ??_C@_01MGNCJNND@?$BC?$AA@ | |
| ??_C@_01ONPPMOBA@?$BB?$AA@ | |
| ??_C@_01PEOEPPFB@?$BA?$AA@ | |
| ??_C@_01DJLOPBMP@?$AP?$AA@ | |
| ??_C@_01CAKFMAIO@?$AO?$AA@ | |
| ??_C@_01LIIJDEN@?$AN?$AA@ | |
| ??_C@_01BCJDKCAM@?$AM?$AA@ | |
| ??_C@_01FNNCDEML@?$AL?$AA@ | |
| ??_C@_01EEMJAFIK@?6?$AA@ | |
| ??_C@_01GPOEFGEJ@?7?$AA@ | |
| ??_C@_01HGPPGHAI@?$AI?$AA@ | |
| ??_C@_01PBGHHLMH@?$AH?$AA@ | |
| ??_C@_01OIHMEKIG@?$AG?$AA@ | |
| ??_C@_01MDFBBJEF@?$AF?$AA@ | |
| ??_C@_01NKEKCIAE@?$AE?$AA@ | |
| ??_C@_01JFALLOMD@?$AD?$AA@ | |
| ??_C@_01IMBAIPIC@?$AC?$AA@ | |
| ??_C@_01KHDNNMEB@?$AB?$AA@ | |
| ??_C@_01LOCGONAA@?$AA?$AA@ | |
| ; CHECK: "\xFF" | |
| ; CHECK: "\xFE" | |
| ; CHECK: "\xFD" | |
| ; CHECK: "\xFC" | |
| ; CHECK: "\xFB" | |
| ; CHECK: "\xFA" | |
| ; CHECK: "\xF9" | |
| ; CHECK: "\xF8" | |
| ; CHECK: "\xF7" | |
| ; CHECK: "\xF6" | |
| ; CHECK: "\xF5" | |
| ; CHECK: "\xF4" | |
| ; CHECK: "\xF3" | |
| ; CHECK: "\xF2" | |
| ; CHECK: "\xF1" | |
| ; CHECK: "\xF0" | |
| ; CHECK: "\xEF" | |
| ; CHECK: "\xEE" | |
| ; CHECK: "\xED" | |
| ; CHECK: "\xEC" | |
| ; CHECK: "\xEB" | |
| ; CHECK: "\xEA" | |
| ; CHECK: "\xE9" | |
| ; CHECK: "\xE8" | |
| ; CHECK: "\xE7" | |
| ; CHECK: "\xE6" | |
| ; CHECK: "\xE5" | |
| ; CHECK: "\xE4" | |
| ; CHECK: "\xE3" | |
| ; CHECK: "\xE2" | |
| ; CHECK: "\xE1" | |
| ; CHECK: "\xE0" | |
| ; CHECK: "\xDF" | |
| ; CHECK: "\xDE" | |
| ; CHECK: "\xDD" | |
| ; CHECK: "\xDC" | |
| ; CHECK: "\xDB" | |
| ; CHECK: "\xDA" | |
| ; CHECK: "\xD9" | |
| ; CHECK: "\xD8" | |
| ; CHECK: "\xD7" | |
| ; CHECK: "\xD6" | |
| ; CHECK: "\xD5" | |
| ; CHECK: "\xD4" | |
| ; CHECK: "\xD3" | |
| ; CHECK: "\xD2" | |
| ; CHECK: "\xD1" | |
| ; CHECK: "\xD0" | |
| ; CHECK: "\xCF" | |
| ; CHECK: "\xCE" | |
| ; CHECK: "\xCD" | |
| ; CHECK: "\xCC" | |
| ; CHECK: "\xCB" | |
| ; CHECK: "\xCA" | |
| ; CHECK: "\xC9" | |
| ; CHECK: "\xC8" | |
| ; CHECK: "\xC7" | |
| ; CHECK: "\xC6" | |
| ; CHECK: "\xC5" | |
| ; CHECK: "\xC4" | |
| ; CHECK: "\xC3" | |
| ; CHECK: "\xC2" | |
| ; CHECK: "\xC1" | |
| ; CHECK: "\xC0" | |
| ; CHECK: "\xBF" | |
| ; CHECK: "\xBE" | |
| ; CHECK: "\xBD" | |
| ; CHECK: "\xBC" | |
| ; CHECK: "\xBB" | |
| ; CHECK: "\xBA" | |
| ; CHECK: "\xB9" | |
| ; CHECK: "\xB8" | |
| ; CHECK: "\xB7" | |
| ; CHECK: "\xB6" | |
| ; CHECK: "\xB5" | |
| ; CHECK: "\xB4" | |
| ; CHECK: "\xB3" | |
| ; CHECK: "\xB2" | |
| ; CHECK: "\xB1" | |
| ; CHECK: "\xB0" | |
| ; CHECK: "\xAF" | |
| ; CHECK: "\xAE" | |
| ; CHECK: "\xAD" | |
| ; CHECK: "\xAC" | |
| ; CHECK: "\xAB" | |
| ; CHECK: "\xAA" | |
| ; CHECK: "\xA9" | |
| ; CHECK: "\xA8" | |
| ; CHECK: "\xA7" | |
| ; CHECK: "\xA6" | |
| ; CHECK: "\xA5" | |
| ; CHECK: "\xA4" | |
| ; CHECK: "\xA3" | |
| ; CHECK: "\xA2" | |
| ; CHECK: "\xA1" | |
| ; CHECK: "\xA0" | |
| ; CHECK: "\x9F" | |
| ; CHECK: "\x9E" | |
| ; CHECK: "\x9D" | |
| ; CHECK: "\x9C" | |
| ; CHECK: "\x9B" | |
| ; CHECK: "\x9A" | |
| ; CHECK: "\x99" | |
| ; CHECK: "\x98" | |
| ; CHECK: "\x97" | |
| ; CHECK: "\x96" | |
| ; CHECK: "\x95" | |
| ; CHECK: "\x94" | |
| ; CHECK: "\x93" | |
| ; CHECK: "\x92" | |
| ; CHECK: "\x91" | |
| ; CHECK: "\x90" | |
| ; CHECK: "\x8F" | |
| ; CHECK: "\x8E" | |
| ; CHECK: "\x8D" | |
| ; CHECK: "\x8C" | |
| ; CHECK: "\x8B" | |
| ; CHECK: "\x8A" | |
| ; CHECK: "\x89" | |
| ; CHECK: "\x88" | |
| ; CHECK: "\x87" | |
| ; CHECK: "\x86" | |
| ; CHECK: "\x85" | |
| ; CHECK: "\x84" | |
| ; CHECK: "\x83" | |
| ; CHECK: "\x82" | |
| ; CHECK: "\x81" | |
| ; CHECK: "\x80" | |
| ; CHECK: "\x7F" | |
| ; CHECK: "~" | |
| ; CHECK: "}" | |
| ; CHECK: "|" | |
| ; CHECK: "{" | |
| ; CHECK: "z" | |
| ; CHECK: "y" | |
| ; CHECK: "x" | |
| ; CHECK: "w" | |
| ; CHECK: "v" | |
| ; CHECK: "u" | |
| ; CHECK: "t" | |
| ; CHECK: "s" | |
| ; CHECK: "r" | |
| ; CHECK: "q" | |
| ; CHECK: "p" | |
| ; CHECK: "o" | |
| ; CHECK: "n" | |
| ; CHECK: "m" | |
| ; CHECK: "l" | |
| ; CHECK: "k" | |
| ; CHECK: "j" | |
| ; CHECK: "i" | |
| ; CHECK: "h" | |
| ; CHECK: "g" | |
| ; CHECK: "f" | |
| ; CHECK: "e" | |
| ; CHECK: "d" | |
| ; CHECK: "c" | |
| ; CHECK: "b" | |
| ; CHECK: "a" | |
| ; CHECK: "`" | |
| ; CHECK: "_" | |
| ; CHECK: "^" | |
| ; CHECK: "]" | |
| ; CHECK: "\\" | |
| ; CHECK: "[" | |
| ; CHECK: "Z" | |
| ; CHECK: "Y" | |
| ; CHECK: "X" | |
| ; CHECK: "W" | |
| ; CHECK: "V" | |
| ; CHECK: "U" | |
| ; CHECK: "T" | |
| ; CHECK: "S" | |
| ; CHECK: "R" | |
| ; CHECK: "Q" | |
| ; CHECK: "P" | |
| ; CHECK: "O" | |
| ; CHECK: "N" | |
| ; CHECK: "M" | |
| ; CHECK: "L" | |
| ; CHECK: "K" | |
| ; CHECK: "J" | |
| ; CHECK: "I" | |
| ; CHECK: "H" | |
| ; CHECK: "G" | |
| ; CHECK: "F" | |
| ; CHECK: "E" | |
| ; CHECK: "D" | |
| ; CHECK: "C" | |
| ; CHECK: "B" | |
| ; CHECK: "A" | |
| ; CHECK: "@" | |
| ; CHECK: "?" | |
| ; CHECK: ">" | |
| ; CHECK: "=" | |
| ; CHECK: "<" | |
| ; CHECK: ";" | |
| ; CHECK: ":" | |
| ; CHECK: "9" | |
| ; CHECK: "8" | |
| ; CHECK: "7" | |
| ; CHECK: "6" | |
| ; CHECK: "5" | |
| ; CHECK: "4" | |
| ; CHECK: "3" | |
| ; CHECK: "2" | |
| ; CHECK: "1" | |
| ; CHECK: "0" | |
| ; CHECK: "/" | |
| ; CHECK: "." | |
| ; CHECK: "-" | |
| ; CHECK: "," | |
| ; CHECK: "+" | |
| ; CHECK: "*" | |
| ; CHECK: ")" | |
| ; CHECK: "(" | |
| ; CHECK: "\'" | |
| ; CHECK: "&" | |
| ; CHECK: "%" | |
| ; CHECK: "$" | |
| ; CHECK: "#" | |
| ; CHECK: "\"" | |
| ; CHECK: "!" | |
| ; CHECK: " " | |
| ; CHECK: "\x1F" | |
| ; CHECK: "\x1E" | |
| ; CHECK: "\x1D" | |
| ; CHECK: "\x1C" | |
| ; CHECK: "\x1B" | |
| ; CHECK: "\x1A" | |
| ; CHECK: "\x19" | |
| ; CHECK: "\x18" | |
| ; CHECK: "\x17" | |
| ; CHECK: "\x16" | |
| ; CHECK: "\x15" | |
| ; CHECK: "\x14" | |
| ; CHECK: "\x13" | |
| ; CHECK: "\x12" | |
| ; CHECK: "\x11" | |
| ; CHECK: "\x10" | |
| ; CHECK: "\x0F" | |
| ; CHECK: "\x0E" | |
| ; CHECK: "\r" | |
| ; CHECK: "\f" | |
| ; CHECK: "\v" | |
| ; CHECK: "\n" | |
| ; CHECK: "\t" | |
| ; CHECK: "\b" | |
| ; CHECK: "\a" | |
| ; CHECK: "\x06" | |
| ; CHECK: "\x05" | |
| ; CHECK: "\x04" | |
| ; CHECK: "\x03" | |
| ; CHECK: "\x02" | |
| ; CHECK: "\x01" | |
| ; The mangling doesn't distinguish between char and char16 types, so even though | |
| ; this was originally written as a char[] with one embedded null, it mangles | |
| ; identically to a char16_t[] that is empty. So when demangling, we choose the | |
| ; "smartest" one, which happened to be wrong, but it's still a "better" | |
| ; demangling. | |
| ; CHECK: u"" | |
| ??_C@_13KDLDGPGJ@?$AA?7?$AA?$AA@ | |
| ??_C@_13LBAGMAIH@?$AA?6?$AA?$AA@ | |
| ??_C@_13JLKKHOC@?$AA?$AL?$AA?$AA@ | |
| ??_C@_13HOIJIPNN@?$AA?5?$AA?$AA@ | |
| ??_C@_13MGDFOILI@?$AA?$CB?$AA?$AA@ | |
| ??_C@_13NEIAEHFG@?$AA?$CC?$AA?$AA@ | |
| ??_C@_13GMDMCADD@?$AA?$CD?$AA?$AA@ | |
| ??_C@_13PBOLBIIK@?$AA$?$AA?$AA@ | |
| ??_C@_13EJFHHPOP@?$AA?$CF?$AA?$AA@ | |
| ??_C@_13FLOCNAAB@?$AA?$CG?$AA?$AA@ | |
| ??_C@_13ODFOLHGE@?$AA?8?$AA?$AA@ | |
| ??_C@_13LLDNKHDC@?$AA?$CI?$AA?$AA@ | |
| ??_C@_13DIBMAFH@?$AA?$CJ?$AA?$AA@ | |
| ??_C@_13BBDEGPLJ@?$AA?$CK?$AA?$AA@ | |
| ??_C@_13KJIIAINM@?$AA?$CL?$AA?$AA@ | |
| ??_C@_13DEFPDAGF@?$AA?0?$AA?$AA@ | |
| ??_C@_13IMODFHAA@?$AA?9?$AA?$AA@ | |
| ??_C@_13JOFGPIOO@?$AA?4?$AA?$AA@ | |
| ??_C@_13CGOKJPIL@?$AA?1?$AA?$AA@ | |
| ??_C@_13COJANIEC@?$AA0?$AA?$AA@ | |
| ??_C@_13JGCMLPCH@?$AA1?$AA?$AA@ | |
| ??_C@_13IEJJBAMJ@?$AA2?$AA?$AA@ | |
| ??_C@_13DMCFHHKM@?$AA3?$AA?$AA@ | |
| ??_C@_13KBPCEPBF@?$AA4?$AA?$AA@ | |
| ??_C@_13BJEOCIHA@?$AA5?$AA?$AA@ | |
| ??_C@_13LPLIHJO@?$AA6?$AA?$AA@ | |
| ??_C@_13LDEHOAPL@?$AA7?$AA?$AA@ | |
| ??_C@_13OLCEPAKN@?$AA8?$AA?$AA@ | |
| ??_C@_13FDJIJHMI@?$AA9?$AA?$AA@ | |
| ??_C@_13EBCNDICG@?$AA?3?$AA?$AA@ | |
| ??_C@_13PJJBFPED@?$AA?$DL?$AA?$AA@ | |
| ??_C@_13GEEGGHPK@?$AA?$DM?$AA?$AA@ | |
| ??_C@_13NMPKAAJP@?$AA?$DN?$AA?$AA@ | |
| ??_C@_13MOEPKPHB@?$AA?$DO?$AA?$AA@ | |
| ??_C@_13HGPDMIBE@?$AA?$DP?$AA?$AA@ | |
| ??_C@_13EFKPHINO@?$AA?$EA?$AA?$AA@ | |
| ??_C@_13PNBDBPLL@?$AAA?$AA?$AA@ | |
| ??_C@_13OPKGLAFF@?$AAB?$AA?$AA@ | |
| ??_C@_13FHBKNHDA@?$AAC?$AA?$AA@ | |
| ??_C@_13MKMNOPIJ@?$AAD?$AA?$AA@ | |
| ??_C@_13HCHBIIOM@?$AAE?$AA?$AA@ | |
| ??_C@_13GAMECHAC@?$AAF?$AA?$AA@ | |
| ??_C@_13NIHIEAGH@?$AAG?$AA?$AA@ | |
| ??_C@_13IABLFADB@?$AAH?$AA?$AA@ | |
| ??_C@_13DIKHDHFE@?$AAI?$AA?$AA@ | |
| ??_C@_13CKBCJILK@?$AAJ?$AA?$AA@ | |
| ??_C@_13JCKOPPNP@?$AAK?$AA?$AA@ | |
| ??_C@_13PHJMHGG@?$AAL?$AA?$AA@ | |
| ??_C@_13LHMFKAAD@?$AAM?$AA?$AA@ | |
| ??_C@_13KFHAAPON@?$AAN?$AA?$AA@ | |
| ??_C@_13BNMMGIII@?$AAO?$AA?$AA@ | |
| ??_C@_13BFLGCPEB@?$AAP?$AA?$AA@ | |
| ??_C@_13KNAKEICE@?$AAQ?$AA?$AA@ | |
| ??_C@_13LPLPOHMK@?$AAR?$AA?$AA@ | |
| ??_C@_13HADIAKP@?$AAS?$AA?$AA@ | |
| ??_C@_13JKNELIBG@?$AAT?$AA?$AA@ | |
| ??_C@_13CCGINPHD@?$AAU?$AA?$AA@ | |
| ??_C@_13DANNHAJN@?$AAV?$AA?$AA@ | |
| ??_C@_13IIGBBHPI@?$AAW?$AA?$AA@ | |
| ??_C@_13NAACAHKO@?$AAX?$AA?$AA@ | |
| ??_C@_13GILOGAML@?$AAY?$AA?$AA@ | |
| ??_C@_13HKALMPCF@?$AAZ?$AA?$AA@ | |
| ??_C@_13MCLHKIEA@?$AA?$FL?$AA?$AA@ | |
| ??_C@_13FPGAJAPJ@?$AA?2?$AA?$AA@ | |
| ??_C@_13OHNMPHJM@?$AA?$FN?$AA?$AA@ | |
| ??_C@_13PFGJFIHC@?$AA?$FO?$AA?$AA@ | |
| ??_C@_13ENNFDPBH@?$AA_?$AA?$AA@ | |
| ??_C@_13OFJNNHOA@?$AA?$GA?$AA?$AA@ | |
| ??_C@_13FNCBLAIF@?$AAa?$AA?$AA@ | |
| ??_C@_13EPJEBPGL@?$AAb?$AA?$AA@ | |
| ??_C@_13PHCIHIAO@?$AAc?$AA?$AA@ | |
| ??_C@_13GKPPEALH@?$AAd?$AA?$AA@ | |
| ??_C@_13NCEDCHNC@?$AAe?$AA?$AA@ | |
| ??_C@_13MAPGIIDM@?$AAf?$AA?$AA@ | |
| ??_C@_13HIEKOPFJ@?$AAg?$AA?$AA@ | |
| ??_C@_13CACJPPAP@?$AAh?$AA?$AA@ | |
| ??_C@_13JIJFJIGK@?$AAi?$AA?$AA@ | |
| ??_C@_13IKCADHIE@?$AAj?$AA?$AA@ | |
| ??_C@_13DCJMFAOB@?$AAk?$AA?$AA@ | |
| ??_C@_13KPELGIFI@?$AAl?$AA?$AA@ | |
| ??_C@_13BHPHAPDN@?$AAm?$AA?$AA@ | |
| ??_C@_13FECKAND@?$AAn?$AA?$AA@ | |
| ??_C@_13LNPOMHLG@?$AAo?$AA?$AA@ | |
| ??_C@_13LFIEIAHP@?$AAp?$AA?$AA@ | |
| ??_C@_13NDIOHBK@?$AAq?$AA?$AA@ | |
| ??_C@_13BPINEIPE@?$AAr?$AA?$AA@ | |
| ??_C@_13KHDBCPJB@?$AAs?$AA?$AA@ | |
| ??_C@_13DKOGBHCI@?$AAt?$AA?$AA@ | |
| ??_C@_13ICFKHAEN@?$AAu?$AA?$AA@ | |
| ??_C@_13JAOPNPKD@?$AAv?$AA?$AA@ | |
| ??_C@_13CIFDLIMG@?$AAw?$AA?$AA@ | |
| ??_C@_13HADAKIJA@?$AAx?$AA?$AA@ | |
| ??_C@_13MIIMMPPF@?$AAy?$AA?$AA@ | |
| ??_C@_13NKDJGABL@?$AAz?$AA?$AA@ | |
| ??_C@_13GCIFAHHO@?$AA?$HL?$AA?$AA@ | |
| ??_C@_13PPFCDPMH@?$AA?$HM?$AA?$AA@ | |
| ??_C@_13EHOOFIKC@?$AA?$HN?$AA?$AA@ | |
| ??_C@_13FFFLPHEM@?$AA?$HO?$AA?$AA@ | |
| ; CHECK: L"\t" | |
| ; CHECK: L"\n" | |
| ; CHECK: L"\v" | |
| ; CHECK: L" " | |
| ; CHECK: L"!" | |
| ; CHECK: L"\"" | |
| ; CHECK: L"#" | |
| ; CHECK: L"$" | |
| ; CHECK: L"%" | |
| ; CHECK: L"&" | |
| ; CHECK: L"\'" | |
| ; CHECK: L"(" | |
| ; CHECK: L")" | |
| ; CHECK: L"*" | |
| ; CHECK: L"+" | |
| ; CHECK: L"," | |
| ; CHECK: L"-" | |
| ; CHECK: L"." | |
| ; CHECK: L"/" | |
| ; CHECK: L"0" | |
| ; CHECK: L"1" | |
| ; CHECK: L"2" | |
| ; CHECK: L"3" | |
| ; CHECK: L"4" | |
| ; CHECK: L"5" | |
| ; CHECK: L"6" | |
| ; CHECK: L"7" | |
| ; CHECK: L"8" | |
| ; CHECK: L"9" | |
| ; CHECK: L":" | |
| ; CHECK: L";" | |
| ; CHECK: L"<" | |
| ; CHECK: L"=" | |
| ; CHECK: L">" | |
| ; CHECK: L"?" | |
| ; CHECK: L"@" | |
| ; CHECK: L"A" | |
| ; CHECK: L"B" | |
| ; CHECK: L"C" | |
| ; CHECK: L"D" | |
| ; CHECK: L"E" | |
| ; CHECK: L"F" | |
| ; CHECK: L"G" | |
| ; CHECK: L"H" | |
| ; CHECK: L"I" | |
| ; CHECK: L"J" | |
| ; CHECK: L"K" | |
| ; CHECK: L"L" | |
| ; CHECK: L"M" | |
| ; CHECK: L"N" | |
| ; CHECK: L"O" | |
| ; CHECK: L"P" | |
| ; CHECK: L"Q" | |
| ; CHECK: L"R" | |
| ; CHECK: L"S" | |
| ; CHECK: L"T" | |
| ; CHECK: L"U" | |
| ; CHECK: L"V" | |
| ; CHECK: L"W" | |
| ; CHECK: L"X" | |
| ; CHECK: L"Y" | |
| ; CHECK: L"Z" | |
| ; CHECK: L"[" | |
| ; CHECK: L"\\" | |
| ; CHECK: L"]" | |
| ; CHECK: L"^" | |
| ; CHECK: L"_" | |
| ; CHECK: L"`" | |
| ; CHECK: L"a" | |
| ; CHECK: L"b" | |
| ; CHECK: L"c" | |
| ; CHECK: L"d" | |
| ; CHECK: L"e" | |
| ; CHECK: L"f" | |
| ; CHECK: L"g" | |
| ; CHECK: L"h" | |
| ; CHECK: L"i" | |
| ; CHECK: L"j" | |
| ; CHECK: L"k" | |
| ; CHECK: L"l" | |
| ; CHECK: L"m" | |
| ; CHECK: L"n" | |
| ; CHECK: L"o" | |
| ; CHECK: L"p" | |
| ; CHECK: L"q" | |
| ; CHECK: L"r" | |
| ; CHECK: L"s" | |
| ; CHECK: L"t" | |
| ; CHECK: L"u" | |
| ; CHECK: L"v" | |
| ; CHECK: L"w" | |
| ; CHECK: L"x" | |
| ; CHECK: L"y" | |
| ; CHECK: L"z" | |
| ; CHECK: L"{" | |
| ; CHECK: L"|" | |
| ; CHECK: L"}" | |
| ; CHECK: L"~" | |
| ??_C@_0CF@LABBIIMO@012345678901234567890123456789AB@ | |
| ; CHECK: "012345678901234567890123456789AB"... | |
| ??_C@_1EK@KFPEBLPK@?$AA0?$AA1?$AA2?$AA3?$AA4?$AA5?$AA6?$AA7?$AA8?$AA9?$AA0?$AA1?$AA2?$AA3?$AA4?$AA5?$AA6?$AA7?$AA8?$AA9?$AA0?$AA1?$AA2?$AA3?$AA4?$AA5?$AA6?$AA7?$AA8?$AA9?$AAA?$AAB@ | |
| ; CHECK: L"012345678901234567890123456789AB"... | |
| ??_C@_13IIHIAFKH@?W?$PP?$AA?$AA@ | |
| ; CHECK: L"\xD7FF" | |
| ??_C@_03IIHIAFKH@?$PP?W?$AA?$AA@ | |
| ; CHECK: u"\xD7FF" | |
| ??_C@_02PCEFGMJL@hi?$AA@ | |
| ; CHECK: "hi" | |
| ??_C@_05OMLEGLOC@h?$AAi?$AA?$AA?$AA@ | |
| ; CHECK: u"hi" | |
| ??_C@_0EK@FEAOBHPP@o?$AA1?$AA2?$AA3?$AA4?$AA5?$AA6?$AA7?$AA8?$AA9?$AA0?$AA1?$AA2?$AA3?$AA4?$AA5?$AA@ | |
| ; CHECK: u"o123456789012345"... | |
| ??_C@_0M@GFNAJIPG@h?$AA?$AA?$AAi?$AA?$AA?$AA?$AA?$AA?$AA?$AA@ | |
| ; CHECK: U"hi" | |
| ??_C@_0JE@IMHFEDAA@0?$AA?$AA?$AA1?$AA?$AA?$AA2?$AA?$AA?$AA3?$AA?$AA?$AA4?$AA?$AA?$AA5?$AA?$AA?$AA6?$AA?$AA?$AA7?$AA?$AA?$AA@ | |
| ; CHECK: U"01234567"... | |
| ; These all have just the right length that the trailing 0 just fits. | |
| ??_C@_0CA@NMANGEKF@012345678901234567890123456789A?$AA@ | |
| ; CHECK: "012345678901234567890123456789A" | |
| ??_C@_1EA@LJAFPILO@?$AA0?$AA1?$AA2?$AA3?$AA4?$AA5?$AA6?$AA7?$AA8?$AA9?$AA0?$AA1?$AA2?$AA3?$AA4?$AA5?$AA6?$AA7?$AA8?$AA9?$AA0?$AA1?$AA2?$AA3?$AA4?$AA5?$AA6?$AA7?$AA8?$AA9?$AAA?$AA?$AA@ | |
| ; CHECK: L"012345678901234567890123456789A" | |
| ??_C@_0CA@NMANGEKF@012345678901234567890123456789A?$AA@ | |
| ; CHECK: "012345678901234567890123456789A" | |
| ??_C@_0CA@NFEFHIFO@0?$AA1?$AA2?$AA3?$AA4?$AA5?$AA6?$AA7?$AA8?$AA9?$AA0?$AA1?$AA2?$AA3?$AA4?$AA?$AA?$AA@ | |
| ; CHECK: u"012345678901234" | |
| ??_C@_0CA@KFPHPCC@0?$AA?$AA?$AA1?$AA?$AA?$AA2?$AA?$AA?$AA3?$AA?$AA?$AA4?$AA?$AA?$AA5?$AA?$AA?$AA6?$AA?$AA?$AA?$AA?$AA?$AA?$AA@ | |
| ; CHECK: U"0123456" | |
| ; There are too many bytes encoded in this string literal (it should encode a max of 32 bytes) | |
| ; but some buggy compilers will incorrectly generate this, so we need to be able to demangle | |
| ; both the correct and incorrect versions. | |
| ??_C@_0CG@HJGBPLNO@l?$AAo?$AAo?$AAk?$AAA?$AAh?$AAe?$AAa?$AAd?$AAH?$AAa?$AAr?$AAd?$AAB?$AAr?$AAe?$AAa?$AAk?$AA?$AA?$AA@ | |
| ; CHECK: u"lookAheadHardBreak" | |
| ??_C@_0CG@HJGBPLNO@l?$AAo?$AAo?$AAk?$AAA?$AAh?$AAe?$AAa?$AAd?$AAH?$AAa?$AAr?$AAd?$AAB?$AAr?$AAe?$AA@ | |
| ; CHECK: u"lookAheadHardBre"... | |
| ; These are u16 strings that the diagnostic would classify as u32 -- except | |
| ; that their byte length % 4 is 2, so they can't be u32. | |
| ??_C@_05LABPAAN@b?$AA?$AA?$AA?$AA?$AA@ | |
| ; CHECK: u"b\0" | |
| ??_C@_0CC@MBPKDIAM@a?$AA?$AA?$AAb?$AA?$AA?$AAc?$AA?$AA?$AAd?$AA?$AA?$AAe?$AA?$AA?$AAf?$AA?$AA?$AAg?$AA?$AA?$AAh?$AA?$AA?$AA@ | |
| ; CHECK: u"a\0b\0c\0d\0e\0f\0g\0h\0"... | |
| ; This is technically not a valid u32 string since the character in it is not | |
| ; <= 0x10FFFF like unicode demands. (Also, the crc doesn't match the contents.) | |
| ; It's here because this input used to cause a stack overflow in outputHex(). | |
| ; Both cl.exe and clang-cl produce it for `const char32_t* s = U"\x11223344";` | |
| ??_C@_07LJGFEJEB@D3?$CC?$BB?$AA?$AA?$AA?$AA@) | |
| ; CHECK: U"\x11223344" | |
| ; This has a string length of 0x6_0000_0000, so it's 0 if treated as a 32-bit | |
| ; number. (In practice, 24GiB large string literals should be rare.) | |
| ??_C@_0GAAAAAAAA@GPLEPFHO@01234567890123456789012345678901@ | |
| ; CHECK: "01234567890123456789012345678901"... |