Clang Project

clang_source_code/test/CodeGenCXX/mangle-ms-string-literals.cpp
1// RUN: %clang_cc1 -x c++ -std=c++11 -emit-llvm %s -o - -triple=i386-pc-win32 | FileCheck %s
2// RUN: %clang_cc1 -x c++ -std=c++11 -emit-llvm %s -o - -triple=x86_64-pc-win32 | FileCheck %s
3
4const char *l255 = "\xff";
5const char *l254 = "\xfe";
6const char *l253 = "\xfd";
7const char *l252 = "\xfc";
8const char *l251 = "\xfb";
9const char *l250 = "\xfa";
10const char *l249 = "\xf9";
11const char *l248 = "\xf8";
12const char *l247 = "\xf7";
13const char *l246 = "\xf6";
14const char *l245 = "\xf5";
15const char *l244 = "\xf4";
16const char *l243 = "\xf3";
17const char *l242 = "\xf2";
18const char *l241 = "\xf1";
19const char *l240 = "\xf0";
20const char *l239 = "\xef";
21const char *l238 = "\xee";
22const char *l237 = "\xed";
23const char *l236 = "\xec";
24const char *l235 = "\xeb";
25const char *l234 = "\xea";
26const char *l233 = "\xe9";
27const char *l232 = "\xe8";
28const char *l231 = "\xe7";
29const char *l230 = "\xe6";
30const char *l229 = "\xe5";
31const char *l228 = "\xe4";
32const char *l227 = "\xe3";
33const char *l226 = "\xe2";
34const char *l225 = "\xe1";
35const char *l224 = "\xe0";
36const char *l223 = "\xdf";
37const char *l222 = "\xde";
38const char *l221 = "\xdd";
39const char *l220 = "\xdc";
40const char *l219 = "\xdb";
41const char *l218 = "\xda";
42const char *l217 = "\xd9";
43const char *l216 = "\xd8";
44const char *l215 = "\xd7";
45const char *l214 = "\xd6";
46const char *l213 = "\xd5";
47const char *l212 = "\xd4";
48const char *l211 = "\xd3";
49const char *l210 = "\xd2";
50const char *l209 = "\xd1";
51const char *l208 = "\xd0";
52const char *l207 = "\xcf";
53const char *l206 = "\xce";
54const char *l205 = "\xcd";
55const char *l204 = "\xcc";
56const char *l203 = "\xcb";
57const char *l202 = "\xca";
58const char *l201 = "\xc9";
59const char *l200 = "\xc8";
60const char *l199 = "\xc7";
61const char *l198 = "\xc6";
62const char *l197 = "\xc5";
63const char *l196 = "\xc4";
64const char *l195 = "\xc3";
65const char *l194 = "\xc2";
66const char *l193 = "\xc1";
67const char *l192 = "\xc0";
68const char *l191 = "\xbf";
69const char *l190 = "\xbe";
70const char *l189 = "\xbd";
71const char *l188 = "\xbc";
72const char *l187 = "\xbb";
73const char *l186 = "\xba";
74const char *l185 = "\xb9";
75const char *l184 = "\xb8";
76const char *l183 = "\xb7";
77const char *l182 = "\xb6";
78const char *l181 = "\xb5";
79const char *l180 = "\xb4";
80const char *l179 = "\xb3";
81const char *l178 = "\xb2";
82const char *l177 = "\xb1";
83const char *l176 = "\xb0";
84const char *l175 = "\xaf";
85const char *l174 = "\xae";
86const char *l173 = "\xad";
87const char *l172 = "\xac";
88const char *l171 = "\xab";
89const char *l170 = "\xaa";
90const char *l169 = "\xa9";
91const char *l168 = "\xa8";
92const char *l167 = "\xa7";
93const char *l166 = "\xa6";
94const char *l165 = "\xa5";
95const char *l164 = "\xa4";
96const char *l163 = "\xa3";
97const char *l162 = "\xa2";
98const char *l161 = "\xa1";
99const char *l160 = "\xa0";
100const char *l159 = "\x9f";
101const char *l158 = "\x9e";
102const char *l157 = "\x9d";
103const char *l156 = "\x9c";
104const char *l155 = "\x9b";
105const char *l154 = "\x9a";
106const char *l153 = "\x99";
107const char *l152 = "\x98";
108const char *l151 = "\x97";
109const char *l150 = "\x96";
110const char *l149 = "\x95";
111const char *l148 = "\x94";
112const char *l147 = "\x93";
113const char *l146 = "\x92";
114const char *l145 = "\x91";
115const char *l144 = "\x90";
116const char *l143 = "\x8f";
117const char *l142 = "\x8e";
118const char *l141 = "\x8d";
119const char *l140 = "\x8c";
120const char *l139 = "\x8b";
121const char *l138 = "\x8a";
122const char *l137 = "\x89";
123const char *l136 = "\x88";
124const char *l135 = "\x87";
125const char *l134 = "\x86";
126const char *l133 = "\x85";
127const char *l132 = "\x84";
128const char *l131 = "\x83";
129const char *l130 = "\x82";
130const char *l129 = "\x81";
131const char *l128 = "\x80";
132const char *l127 = "\x7f";
133const char *l126 = "\x7e";
134const char *l125 = "\x7d";
135const char *l124 = "\x7c";
136const char *l123 = "\x7b";
137const char *l122 = "\x7a";
138const char *l121 = "\x79";
139const char *l120 = "\x78";
140const char *l119 = "\x77";
141const char *l118 = "\x76";
142const char *l117 = "\x75";
143const char *l116 = "\x74";
144const char *l115 = "\x73";
145const char *l114 = "\x72";
146const char *l113 = "\x71";
147const char *l112 = "\x70";
148const char *l111 = "\x6f";
149const char *l110 = "\x6e";
150const char *l109 = "\x6d";
151const char *l108 = "\x6c";
152const char *l107 = "\x6b";
153const char *l106 = "\x6a";
154const char *l105 = "\x69";
155const char *l104 = "\x68";
156const char *l103 = "\x67";
157const char *l102 = "\x66";
158const char *l101 = "\x65";
159const char *l100 = "\x64";
160const char *l99 = "\x63";
161const char *l98 = "\x62";
162const char *l97 = "\x61";
163const char *l96 = "\x60";
164const char *l95 = "\x5f";
165const char *l94 = "\x5e";
166const char *l93 = "\x5d";
167const char *l92 = "\x5c";
168const char *l91 = "\x5b";
169const char *l90 = "\x5a";
170const char *l89 = "\x59";
171const char *l88 = "\x58";
172const char *l87 = "\x57";
173const char *l86 = "\x56";
174const char *l85 = "\x55";
175const char *l84 = "\x54";
176const char *l83 = "\x53";
177const char *l82 = "\x52";
178const char *l81 = "\x51";
179const char *l80 = "\x50";
180const char *l79 = "\x4f";
181const char *l78 = "\x4e";
182const char *l77 = "\x4d";
183const char *l76 = "\x4c";
184const char *l75 = "\x4b";
185const char *l74 = "\x4a";
186const char *l73 = "\x49";
187const char *l72 = "\x48";
188const char *l71 = "\x47";
189const char *l70 = "\x46";
190const char *l69 = "\x45";
191const char *l68 = "\x44";
192const char *l67 = "\x43";
193const char *l66 = "\x42";
194const char *l65 = "\x41";
195const char *l64 = "\x40";
196const char *l63 = "\x3f";
197const char *l62 = "\x3e";
198const char *l61 = "\x3d";
199const char *l60 = "\x3c";
200const char *l59 = "\x3b";
201const char *l58 = "\x3a";
202const char *l57 = "\x39";
203const char *l56 = "\x38";
204const char *l55 = "\x37";
205const char *l54 = "\x36";
206const char *l53 = "\x35";
207const char *l52 = "\x34";
208const char *l51 = "\x33";
209const char *l50 = "\x32";
210const char *l49 = "\x31";
211const char *l48 = "\x30";
212const char *l47 = "\x2f";
213const char *l46 = "\x2e";
214const char *l45 = "\x2d";
215const char *l44 = "\x2c";
216const char *l43 = "\x2b";
217const char *l42 = "\x2a";
218const char *l41 = "\x29";
219const char *l40 = "\x28";
220const char *l39 = "\x27";
221const char *l38 = "\x26";
222const char *l37 = "\x25";
223const char *l36 = "\x24";
224const char *l35 = "\x23";
225const char *l34 = "\x22";
226const char *l33 = "\x21";
227const char *l32 = "\x20";
228const char *l31 = "\x1f";
229const char *l30 = "\x1e";
230const char *l29 = "\x1d";
231const char *l28 = "\x1c";
232const char *l27 = "\x1b";
233const char *l26 = "\x1a";
234const char *l25 = "\x19";
235const char *l24 = "\x18";
236const char *l23 = "\x17";
237const char *l22 = "\x16";
238const char *l21 = "\x15";
239const char *l20 = "\x14";
240const char *l19 = "\x13";
241const char *l18 = "\x12";
242const char *l17 = "\x11";
243const char *l16 = "\x10";
244const char *l15 = "\xf";
245const char *l14 = "\xe";
246const char *l13 = "\xd";
247const char *l12 = "\xc";
248const char *l11 = "\xb";
249const char *l10 = "\xa";
250const char *l9 = "\x9";
251const char *l8 = "\x8";
252const char *l7 = "\x7";
253const char *l6 = "\x6";
254const char *l5 = "\x5";
255const char *l4 = "\x4";
256const char *l3 = "\x3";
257const char *l2 = "\x2";
258const char *l1 = "\x1";
259const char *l0 = "\x0";
260
261// CHECK: @"??_C@_01CNACBAHC@?$PP?$AA@"
262// CHECK: @"??_C@_01DEBJCBDD@?$PO?$AA@"
263// CHECK: @"??_C@_01BPDEHCPA@?$PN?$AA@"
264// CHECK: @"??_C@_01GCPEDLB@?$PM?$AA@"
265// CHECK: @"??_C@_01EJGONFHG@?$PL?$AA@"
266// CHECK: @"??_C@_01FAHFOEDH@?z?$AA@"
267// CHECK: @"??_C@_01HLFILHPE@?y?$AA@"
268// CHECK: @"??_C@_01GCEDIGLF@?x?$AA@"
269// CHECK: @"??_C@_01OFNLJKHK@?w?$AA@"
270// CHECK: @"??_C@_01PMMAKLDL@?v?$AA@"
271// CHECK: @"??_C@_01NHONPIPI@?u?$AA@"
272// CHECK: @"??_C@_01MOPGMJLJ@?t?$AA@"
273// CHECK: @"??_C@_01IBLHFPHO@?s?$AA@"
274// CHECK: @"??_C@_01JIKMGODP@?r?$AA@"
275// CHECK: @"??_C@_01LDIBDNPM@?q?$AA@"
276// CHECK: @"??_C@_01KKJKAMLN@?p?$AA@"
277// CHECK: @"??_C@_01GHMAACCD@?o?$AA@"
278// CHECK: @"??_C@_01HONLDDGC@?n?$AA@"
279// CHECK: @"??_C@_01FFPGGAKB@?m?$AA@"
280// CHECK: @"??_C@_01EMONFBOA@?l?$AA@"
281// CHECK: @"??_C@_01DKMMHCH@?k?$AA@"
282// CHECK: @"??_C@_01BKLHPGGG@?j?$AA@"
283// CHECK: @"??_C@_01DBJKKFKF@?i?$AA@"
284// CHECK: @"??_C@_01CIIBJEOE@?h?$AA@"
285// CHECK: @"??_C@_01KPBJIICL@?g?$AA@"
286// CHECK: @"??_C@_01LGACLJGK@?f?$AA@"
287// CHECK: @"??_C@_01JNCPOKKJ@?e?$AA@"
288// CHECK: @"??_C@_01IEDENLOI@?d?$AA@"
289// CHECK: @"??_C@_01MLHFENCP@?c?$AA@"
290// CHECK: @"??_C@_01NCGOHMGO@?b?$AA@"
291// CHECK: @"??_C@_01PJEDCPKN@?a?$AA@"
292// CHECK: @"??_C@_01OAFIBOOM@?$OA?$AA@"
293// CHECK: @"??_C@_01LIIGDENA@?$NP?$AA@"
294// CHECK: @"??_C@_01KBJNAFJB@?$NO?$AA@"
295// CHECK: @"??_C@_01IKLAFGFC@?$NN?$AA@"
296// CHECK: @"??_C@_01JDKLGHBD@?$NM?$AA@"
297// CHECK: @"??_C@_01NMOKPBNE@?$NL?$AA@"
298// CHECK: @"??_C@_01MFPBMAJF@?Z?$AA@"
299// CHECK: @"??_C@_01OONMJDFG@?Y?$AA@"
300// CHECK: @"??_C@_01PHMHKCBH@?X?$AA@"
301// CHECK: @"??_C@_01HAFPLONI@?W?$AA@"
302// CHECK: @"??_C@_01GJEEIPJJ@?V?$AA@"
303// CHECK: @"??_C@_01ECGJNMFK@?U?$AA@"
304// CHECK: @"??_C@_01FLHCONBL@?T?$AA@"
305// CHECK: @"??_C@_01BEDDHLNM@?S?$AA@"
306// CHECK: @"??_C@_01NCIEKJN@?R?$AA@"
307// CHECK: @"??_C@_01CGAFBJFO@?Q?$AA@"
308// CHECK: @"??_C@_01DPBOCIBP@?P?$AA@"
309// CHECK: @"??_C@_01PCEECGIB@?O?$AA@"
310// CHECK: @"??_C@_01OLFPBHMA@?N?$AA@"
311// CHECK: @"??_C@_01MAHCEEAD@?M?$AA@"
312// CHECK: @"??_C@_01NJGJHFEC@?L?$AA@"
313// CHECK: @"??_C@_01JGCIODIF@?K?$AA@"
314// CHECK: @"??_C@_01IPDDNCME@?J?$AA@"
315// CHECK: @"??_C@_01KEBOIBAH@?I?$AA@"
316// CHECK: @"??_C@_01LNAFLAEG@?H?$AA@"
317// CHECK: @"??_C@_01DKJNKMIJ@?G?$AA@"
318// CHECK: @"??_C@_01CDIGJNMI@?F?$AA@"
319// CHECK: @"??_C@_01IKLMOAL@?E?$AA@"
320// CHECK: @"??_C@_01BBLAPPEK@?D?$AA@"
321// CHECK: @"??_C@_01FOPBGJIN@?C?$AA@"
322// CHECK: @"??_C@_01EHOKFIMM@?B?$AA@"
323// CHECK: @"??_C@_01GMMHALAP@?A?$AA@"
324// CHECK: @"??_C@_01HFNMDKEO@?$MA?$AA@"
325// CHECK: @"??_C@_01NNHLFPHH@?$LP?$AA@"
326// CHECK: @"??_C@_01MEGAGODG@?$LO?$AA@"
327// CHECK: @"??_C@_01OPENDNPF@?$LN?$AA@"
328// CHECK: @"??_C@_01PGFGAMLE@?$LM?$AA@"
329// CHECK: @"??_C@_01LJBHJKHD@?$LL?$AA@"
330// CHECK: @"??_C@_01KAAMKLDC@?$LK?$AA@"
331// CHECK: @"??_C@_01ILCBPIPB@?$LJ?$AA@"
332// CHECK: @"??_C@_01JCDKMJLA@?$LI?$AA@"
333// CHECK: @"??_C@_01BFKCNFHP@?$LH?$AA@"
334// CHECK: @"??_C@_01MLJOEDO@?$LG?$AA@"
335// CHECK: @"??_C@_01CHJELHPN@?$LF?$AA@"
336// CHECK: @"??_C@_01DOIPIGLM@?$LE?$AA@"
337// CHECK: @"??_C@_01HBMOBAHL@?$LD?$AA@"
338// CHECK: @"??_C@_01GINFCBDK@?$LC?$AA@"
339// CHECK: @"??_C@_01EDPIHCPJ@?$LB?$AA@"
340// CHECK: @"??_C@_01FKODEDLI@?$LA?$AA@"
341// CHECK: @"??_C@_01JHLJENCG@?$KP?$AA@"
342// CHECK: @"??_C@_01IOKCHMGH@?$KO?$AA@"
343// CHECK: @"??_C@_01KFIPCPKE@?$KN?$AA@"
344// CHECK: @"??_C@_01LMJEBOOF@?$KM?$AA@"
345// CHECK: @"??_C@_01PDNFIICC@?$KL?$AA@"
346// CHECK: @"??_C@_01OKMOLJGD@?$KK?$AA@"
347// CHECK: @"??_C@_01MBODOKKA@?$KJ?$AA@"
348// CHECK: @"??_C@_01NIPINLOB@?$KI?$AA@"
349// CHECK: @"??_C@_01FPGAMHCO@?$KH?$AA@"
350// CHECK: @"??_C@_01EGHLPGGP@?$KG?$AA@"
351// CHECK: @"??_C@_01GNFGKFKM@?$KF?$AA@"
352// CHECK: @"??_C@_01HEENJEON@?$KE?$AA@"
353// CHECK: @"??_C@_01DLAMACCK@?$KD?$AA@"
354// CHECK: @"??_C@_01CCBHDDGL@?$KC?$AA@"
355// CHECK: @"??_C@_01JDKGAKI@?$KB?$AA@"
356// CHECK: @"??_C@_01BACBFBOJ@?$KA?$AA@"
357// CHECK: @"??_C@_01EIPPHLNF@?$JP?$AA@"
358// CHECK: @"??_C@_01FBOEEKJE@?$JO?$AA@"
359// CHECK: @"??_C@_01HKMJBJFH@?$JN?$AA@"
360// CHECK: @"??_C@_01GDNCCIBG@?$JM?$AA@"
361// CHECK: @"??_C@_01CMJDLONB@?$JL?$AA@"
362// CHECK: @"??_C@_01DFIIIPJA@?$JK?$AA@"
363// CHECK: @"??_C@_01BOKFNMFD@?$JJ?$AA@"
364// CHECK: @"??_C@_01HLOONBC@?$JI?$AA@"
365// CHECK: @"??_C@_01IACGPBNN@?$JH?$AA@"
366// CHECK: @"??_C@_01JJDNMAJM@?$JG?$AA@"
367// CHECK: @"??_C@_01LCBAJDFP@?$JF?$AA@"
368// CHECK: @"??_C@_01KLALKCBO@?$JE?$AA@"
369// CHECK: @"??_C@_01OEEKDENJ@?$JD?$AA@"
370// CHECK: @"??_C@_01PNFBAFJI@?$JC?$AA@"
371// CHECK: @"??_C@_01NGHMFGFL@?$JB?$AA@"
372// CHECK: @"??_C@_01MPGHGHBK@?$JA?$AA@"
373// CHECK: @"??_C@_01CDNGJIE@?$IP?$AA@"
374// CHECK: @"??_C@_01BLCGFIMF@?$IO?$AA@"
375// CHECK: @"??_C@_01DAALALAG@?$IN?$AA@"
376// CHECK: @"??_C@_01CJBADKEH@?$IM?$AA@"
377// CHECK: @"??_C@_01GGFBKMIA@?$IL?$AA@"
378// CHECK: @"??_C@_01HPEKJNMB@?$IK?$AA@"
379// CHECK: @"??_C@_01FEGHMOAC@?$IJ?$AA@"
380// CHECK: @"??_C@_01ENHMPPED@?$II?$AA@"
381// CHECK: @"??_C@_01MKOEODIM@?$IH?$AA@"
382// CHECK: @"??_C@_01NDPPNCMN@?$IG?$AA@"
383// CHECK: @"??_C@_01PINCIBAO@?$IF?$AA@"
384// CHECK: @"??_C@_01OBMJLAEP@?$IE?$AA@"
385// CHECK: @"??_C@_01KOIICGII@?$ID?$AA@"
386// CHECK: @"??_C@_01LHJDBHMJ@?$IC?$AA@"
387// CHECK: @"??_C@_01JMLOEEAK@?$IB?$AA@"
388// CHECK: @"??_C@_01IFKFHFEL@?$IA?$AA@"
389// CHECK: @"??_C@_01BGIBIIDJ@?$HP?$AA@"
390// CHECK: @"??_C@_01PJKLJHI@?$HO?$AA@"
391// CHECK: @"??_C@_01CELHOKLL@?$HN?$AA@"
392// CHECK: @"??_C@_01DNKMNLPK@?$HM?$AA@"
393// CHECK: @"??_C@_01HCONENDN@?$HL?$AA@"
394// CHECK: @"??_C@_01GLPGHMHM@z?$AA@"
395// CHECK: @"??_C@_01EANLCPLP@y?$AA@"
396// CHECK: @"??_C@_01FJMABOPO@x?$AA@"
397// CHECK: @"??_C@_01NOFIACDB@w?$AA@"
398// CHECK: @"??_C@_01MHEDDDHA@v?$AA@"
399// CHECK: @"??_C@_01OMGOGALD@u?$AA@"
400// CHECK: @"??_C@_01PFHFFBPC@t?$AA@"
401// CHECK: @"??_C@_01LKDEMHDF@s?$AA@"
402// CHECK: @"??_C@_01KDCPPGHE@r?$AA@"
403// CHECK: @"??_C@_01IIACKFLH@q?$AA@"
404// CHECK: @"??_C@_01JBBJJEPG@p?$AA@"
405// CHECK: @"??_C@_01FMEDJKGI@o?$AA@"
406// CHECK: @"??_C@_01EFFIKLCJ@n?$AA@"
407// CHECK: @"??_C@_01GOHFPIOK@m?$AA@"
408// CHECK: @"??_C@_01HHGOMJKL@l?$AA@"
409// CHECK: @"??_C@_01DICPFPGM@k?$AA@"
410// CHECK: @"??_C@_01CBDEGOCN@j?$AA@"
411// CHECK: @"??_C@_01KBJDNOO@i?$AA@"
412// CHECK: @"??_C@_01BDACAMKP@h?$AA@"
413// CHECK: @"??_C@_01JEJKBAGA@g?$AA@"
414// CHECK: @"??_C@_01INIBCBCB@f?$AA@"
415// CHECK: @"??_C@_01KGKMHCOC@e?$AA@"
416// CHECK: @"??_C@_01LPLHEDKD@d?$AA@"
417// CHECK: @"??_C@_01PAPGNFGE@c?$AA@"
418// CHECK: @"??_C@_01OJONOECF@b?$AA@"
419// CHECK: @"??_C@_01MCMALHOG@a?$AA@"
420// CHECK: @"??_C@_01NLNLIGKH@?$GA?$AA@"
421// CHECK: @"??_C@_01IDAFKMJL@_?$AA@"
422// CHECK: @"??_C@_01JKBOJNNK@?$FO?$AA@"
423// CHECK: @"??_C@_01LBDDMOBJ@?$FN?$AA@"
424// CHECK: @"??_C@_01KICIPPFI@?2?$AA@"
425// CHECK: @"??_C@_01OHGJGJJP@?$FL?$AA@"
426// CHECK: @"??_C@_01POHCFINO@Z?$AA@"
427// CHECK: @"??_C@_01NFFPALBN@Y?$AA@"
428// CHECK: @"??_C@_01MMEEDKFM@X?$AA@"
429// CHECK: @"??_C@_01ELNMCGJD@W?$AA@"
430// CHECK: @"??_C@_01FCMHBHNC@V?$AA@"
431// CHECK: @"??_C@_01HJOKEEBB@U?$AA@"
432// CHECK: @"??_C@_01GAPBHFFA@T?$AA@"
433// CHECK: @"??_C@_01CPLAODJH@S?$AA@"
434// CHECK: @"??_C@_01DGKLNCNG@R?$AA@"
435// CHECK: @"??_C@_01BNIGIBBF@Q?$AA@"
436// CHECK: @"??_C@_01EJNLAFE@P?$AA@"
437// CHECK: @"??_C@_01MJMHLOMK@O?$AA@"
438// CHECK: @"??_C@_01NANMIPIL@N?$AA@"
439// CHECK: @"??_C@_01PLPBNMEI@M?$AA@"
440// CHECK: @"??_C@_01OCOKONAJ@L?$AA@"
441// CHECK: @"??_C@_01KNKLHLMO@K?$AA@"
442// CHECK: @"??_C@_01LELAEKIP@J?$AA@"
443// CHECK: @"??_C@_01JPJNBJEM@I?$AA@"
444// CHECK: @"??_C@_01IGIGCIAN@H?$AA@"
445// CHECK: @"??_C@_01BBODEMC@G?$AA@"
446// CHECK: @"??_C@_01BIAFAFID@F?$AA@"
447// CHECK: @"??_C@_01DDCIFGEA@E?$AA@"
448// CHECK: @"??_C@_01CKDDGHAB@D?$AA@"
449// CHECK: @"??_C@_01GFHCPBMG@C?$AA@"
450// CHECK: @"??_C@_01HMGJMAIH@B?$AA@"
451// CHECK: @"??_C@_01FHEEJDEE@A?$AA@"
452// CHECK: @"??_C@_01EOFPKCAF@?$EA?$AA@"
453// CHECK: @"??_C@_01OGPIMHDM@?$DP?$AA@"
454// CHECK: @"??_C@_01PPODPGHN@?$DO?$AA@"
455// CHECK: @"??_C@_01NEMOKFLO@?$DN?$AA@"
456// CHECK: @"??_C@_01MNNFJEPP@?$DM?$AA@"
457// CHECK: @"??_C@_01ICJEACDI@?$DL?$AA@"
458// CHECK: @"??_C@_01JLIPDDHJ@?3?$AA@"
459// CHECK: @"??_C@_01LAKCGALK@9?$AA@"
460// CHECK: @"??_C@_01KJLJFBPL@8?$AA@"
461// CHECK: @"??_C@_01COCBENDE@7?$AA@"
462// CHECK: @"??_C@_01DHDKHMHF@6?$AA@"
463// CHECK: @"??_C@_01BMBHCPLG@5?$AA@"
464// CHECK: @"??_C@_01FAMBOPH@4?$AA@"
465// CHECK: @"??_C@_01EKENIIDA@3?$AA@"
466// CHECK: @"??_C@_01FDFGLJHB@2?$AA@"
467// CHECK: @"??_C@_01HIHLOKLC@1?$AA@"
468// CHECK: @"??_C@_01GBGANLPD@0?$AA@"
469// CHECK: @"??_C@_01KMDKNFGN@?1?$AA@"
470// CHECK: @"??_C@_01LFCBOECM@?4?$AA@"
471// CHECK: @"??_C@_01JOAMLHOP@?9?$AA@"
472// CHECK: @"??_C@_01IHBHIGKO@?0?$AA@"
473// CHECK: @"??_C@_01MIFGBAGJ@?$CL?$AA@"
474// CHECK: @"??_C@_01NBENCBCI@?$CK?$AA@"
475// CHECK: @"??_C@_01PKGAHCOL@?$CJ?$AA@"
476// CHECK: @"??_C@_01ODHLEDKK@?$CI?$AA@"
477// CHECK: @"??_C@_01GEODFPGF@?8?$AA@"
478// CHECK: @"??_C@_01HNPIGOCE@?$CG?$AA@"
479// CHECK: @"??_C@_01FGNFDNOH@?$CF?$AA@"
480// CHECK: @"??_C@_01EPMOAMKG@$?$AA@"
481// CHECK: @"??_C@_01IPJKGB@?$CD?$AA@"
482// CHECK: @"??_C@_01BJJEKLCA@?$CC?$AA@"
483// CHECK: @"??_C@_01DCLJPIOD@?$CB?$AA@"
484// CHECK: @"??_C@_01CLKCMJKC@?5?$AA@"
485// CHECK: @"??_C@_01HDHMODJO@?$BP?$AA@"
486// CHECK: @"??_C@_01GKGHNCNP@?$BO?$AA@"
487// CHECK: @"??_C@_01EBEKIBBM@?$BN?$AA@"
488// CHECK: @"??_C@_01FIFBLAFN@?$BM?$AA@"
489// CHECK: @"??_C@_01BHBACGJK@?$BL?$AA@"
490// CHECK: @"??_C@_01OALBHNL@?$BK?$AA@"
491// CHECK: @"??_C@_01CFCGEEBI@?$BJ?$AA@"
492// CHECK: @"??_C@_01DMDNHFFJ@?$BI?$AA@"
493// CHECK: @"??_C@_01LLKFGJJG@?$BH?$AA@"
494// CHECK: @"??_C@_01KCLOFINH@?$BG?$AA@"
495// CHECK: @"??_C@_01IJJDALBE@?$BF?$AA@"
496// CHECK: @"??_C@_01JAIIDKFF@?$BE?$AA@"
497// CHECK: @"??_C@_01NPMJKMJC@?$BD?$AA@"
498// CHECK: @"??_C@_01MGNCJNND@?$BC?$AA@"
499// CHECK: @"??_C@_01ONPPMOBA@?$BB?$AA@"
500// CHECK: @"??_C@_01PEOEPPFB@?$BA?$AA@"
501// CHECK: @"??_C@_01DJLOPBMP@?$AP?$AA@"
502// CHECK: @"??_C@_01CAKFMAIO@?$AO?$AA@"
503// CHECK: @"??_C@_01LIIJDEN@?$AN?$AA@"
504// CHECK: @"??_C@_01BCJDKCAM@?$AM?$AA@"
505// CHECK: @"??_C@_01FNNCDEML@?$AL?$AA@"
506// CHECK: @"??_C@_01EEMJAFIK@?6?$AA@"
507// CHECK: @"??_C@_01GPOEFGEJ@?7?$AA@"
508// CHECK: @"??_C@_01HGPPGHAI@?$AI?$AA@"
509// CHECK: @"??_C@_01PBGHHLMH@?$AH?$AA@"
510// CHECK: @"??_C@_01OIHMEKIG@?$AG?$AA@"
511// CHECK: @"??_C@_01MDFBBJEF@?$AF?$AA@"
512// CHECK: @"??_C@_01NKEKCIAE@?$AE?$AA@"
513// CHECK: @"??_C@_01JFALLOMD@?$AD?$AA@"
514// CHECK: @"??_C@_01IMBAIPIC@?$AC?$AA@"
515// CHECK: @"??_C@_01KHDNNMEB@?$AB?$AA@"
516// CHECK: @"??_C@_01LOCGONAA@?$AA?$AA@"
517
518const wchar_t *wl9 = L"\t";
519const wchar_t *wl10 = L"\n";
520const wchar_t *wl11 = L"\v";
521const wchar_t *wl32 = L" ";
522const wchar_t *wl33 = L"!";
523const wchar_t *wl34 = L"\"";
524const wchar_t *wl35 = L"#";
525const wchar_t *wl36 = L"$";
526const wchar_t *wl37 = L"%";
527const wchar_t *wl38 = L"&";
528const wchar_t *wl39 = L"'";
529const wchar_t *wl40 = L"(";
530const wchar_t *wl41 = L")";
531const wchar_t *wl42 = L"*";
532const wchar_t *wl43 = L"+";
533const wchar_t *wl44 = L",";
534const wchar_t *wl45 = L"-";
535const wchar_t *wl46 = L".";
536const wchar_t *wl47 = L"/";
537const wchar_t *wl48 = L"0";
538const wchar_t *wl49 = L"1";
539const wchar_t *wl50 = L"2";
540const wchar_t *wl51 = L"3";
541const wchar_t *wl52 = L"4";
542const wchar_t *wl53 = L"5";
543const wchar_t *wl54 = L"6";
544const wchar_t *wl55 = L"7";
545const wchar_t *wl56 = L"8";
546const wchar_t *wl57 = L"9";
547const wchar_t *wl58 = L":";
548const wchar_t *wl59 = L";";
549const wchar_t *wl60 = L"<";
550const wchar_t *wl61 = L"=";
551const wchar_t *wl62 = L">";
552const wchar_t *wl63 = L"?";
553const wchar_t *wl64 = L"@";
554const wchar_t *wl65 = L"A";
555const wchar_t *wl66 = L"B";
556const wchar_t *wl67 = L"C";
557const wchar_t *wl68 = L"D";
558const wchar_t *wl69 = L"E";
559const wchar_t *wl70 = L"F";
560const wchar_t *wl71 = L"G";
561const wchar_t *wl72 = L"H";
562const wchar_t *wl73 = L"I";
563const wchar_t *wl74 = L"J";
564const wchar_t *wl75 = L"K";
565const wchar_t *wl76 = L"L";
566const wchar_t *wl77 = L"M";
567const wchar_t *wl78 = L"N";
568const wchar_t *wl79 = L"O";
569const wchar_t *wl80 = L"P";
570const wchar_t *wl81 = L"Q";
571const wchar_t *wl82 = L"R";
572const wchar_t *wl83 = L"S";
573const wchar_t *wl84 = L"T";
574const wchar_t *wl85 = L"U";
575const wchar_t *wl86 = L"V";
576const wchar_t *wl87 = L"W";
577const wchar_t *wl88 = L"X";
578const wchar_t *wl89 = L"Y";
579const wchar_t *wl90 = L"Z";
580const wchar_t *wl91 = L"[";
581const wchar_t *wl92 = L"\\";
582const wchar_t *wl93 = L"]";
583const wchar_t *wl94 = L"^";
584const wchar_t *wl95 = L"_";
585const wchar_t *wl96 = L"`";
586const wchar_t *wl97 = L"a";
587const wchar_t *wl98 = L"b";
588const wchar_t *wl99 = L"c";
589const wchar_t *wl100 = L"d";
590const wchar_t *wl101 = L"e";
591const wchar_t *wl102 = L"f";
592const wchar_t *wl103 = L"g";
593const wchar_t *wl104 = L"h";
594const wchar_t *wl105 = L"i";
595const wchar_t *wl106 = L"j";
596const wchar_t *wl107 = L"k";
597const wchar_t *wl108 = L"l";
598const wchar_t *wl109 = L"m";
599const wchar_t *wl110 = L"n";
600const wchar_t *wl111 = L"o";
601const wchar_t *wl112 = L"p";
602const wchar_t *wl113 = L"q";
603const wchar_t *wl114 = L"r";
604const wchar_t *wl115 = L"s";
605const wchar_t *wl116 = L"t";
606const wchar_t *wl117 = L"u";
607const wchar_t *wl118 = L"v";
608const wchar_t *wl119 = L"w";
609const wchar_t *wl120 = L"x";
610const wchar_t *wl121 = L"y";
611const wchar_t *wl122 = L"z";
612const wchar_t *wl123 = L"{";
613const wchar_t *wl124 = L"|";
614const wchar_t *wl125 = L"}";
615const wchar_t *wl126 = L"~";
616
617// CHECK: @"??_C@_13KDLDGPGJ@?$AA?7?$AA?$AA@"
618// CHECK: @"??_C@_13LBAGMAIH@?$AA?6?$AA?$AA@"
619// CHECK: @"??_C@_13JLKKHOC@?$AA?$AL?$AA?$AA@"
620// CHECK: @"??_C@_13HOIJIPNN@?$AA?5?$AA?$AA@"
621// CHECK: @"??_C@_13MGDFOILI@?$AA?$CB?$AA?$AA@"
622// CHECK: @"??_C@_13NEIAEHFG@?$AA?$CC?$AA?$AA@"
623// CHECK: @"??_C@_13GMDMCADD@?$AA?$CD?$AA?$AA@"
624// CHECK: @"??_C@_13PBOLBIIK@?$AA$?$AA?$AA@"
625// CHECK: @"??_C@_13EJFHHPOP@?$AA?$CF?$AA?$AA@"
626// CHECK: @"??_C@_13FLOCNAAB@?$AA?$CG?$AA?$AA@"
627// CHECK: @"??_C@_13ODFOLHGE@?$AA?8?$AA?$AA@"
628// CHECK: @"??_C@_13LLDNKHDC@?$AA?$CI?$AA?$AA@"
629// CHECK: @"??_C@_13DIBMAFH@?$AA?$CJ?$AA?$AA@"
630// CHECK: @"??_C@_13BBDEGPLJ@?$AA?$CK?$AA?$AA@"
631// CHECK: @"??_C@_13KJIIAINM@?$AA?$CL?$AA?$AA@"
632// CHECK: @"??_C@_13DEFPDAGF@?$AA?0?$AA?$AA@"
633// CHECK: @"??_C@_13IMODFHAA@?$AA?9?$AA?$AA@"
634// CHECK: @"??_C@_13JOFGPIOO@?$AA?4?$AA?$AA@"
635// CHECK: @"??_C@_13CGOKJPIL@?$AA?1?$AA?$AA@"
636// CHECK: @"??_C@_13COJANIEC@?$AA0?$AA?$AA@"
637// CHECK: @"??_C@_13JGCMLPCH@?$AA1?$AA?$AA@"
638// CHECK: @"??_C@_13IEJJBAMJ@?$AA2?$AA?$AA@"
639// CHECK: @"??_C@_13DMCFHHKM@?$AA3?$AA?$AA@"
640// CHECK: @"??_C@_13KBPCEPBF@?$AA4?$AA?$AA@"
641// CHECK: @"??_C@_13BJEOCIHA@?$AA5?$AA?$AA@"
642// CHECK: @"??_C@_13LPLIHJO@?$AA6?$AA?$AA@"
643// CHECK: @"??_C@_13LDEHOAPL@?$AA7?$AA?$AA@"
644// CHECK: @"??_C@_13OLCEPAKN@?$AA8?$AA?$AA@"
645// CHECK: @"??_C@_13FDJIJHMI@?$AA9?$AA?$AA@"
646// CHECK: @"??_C@_13EBCNDICG@?$AA?3?$AA?$AA@"
647// CHECK: @"??_C@_13PJJBFPED@?$AA?$DL?$AA?$AA@"
648// CHECK: @"??_C@_13GEEGGHPK@?$AA?$DM?$AA?$AA@"
649// CHECK: @"??_C@_13NMPKAAJP@?$AA?$DN?$AA?$AA@"
650// CHECK: @"??_C@_13MOEPKPHB@?$AA?$DO?$AA?$AA@"
651// CHECK: @"??_C@_13HGPDMIBE@?$AA?$DP?$AA?$AA@"
652// CHECK: @"??_C@_13EFKPHINO@?$AA?$EA?$AA?$AA@"
653// CHECK: @"??_C@_13PNBDBPLL@?$AAA?$AA?$AA@"
654// CHECK: @"??_C@_13OPKGLAFF@?$AAB?$AA?$AA@"
655// CHECK: @"??_C@_13FHBKNHDA@?$AAC?$AA?$AA@"
656// CHECK: @"??_C@_13MKMNOPIJ@?$AAD?$AA?$AA@"
657// CHECK: @"??_C@_13HCHBIIOM@?$AAE?$AA?$AA@"
658// CHECK: @"??_C@_13GAMECHAC@?$AAF?$AA?$AA@"
659// CHECK: @"??_C@_13NIHIEAGH@?$AAG?$AA?$AA@"
660// CHECK: @"??_C@_13IABLFADB@?$AAH?$AA?$AA@"
661// CHECK: @"??_C@_13DIKHDHFE@?$AAI?$AA?$AA@"
662// CHECK: @"??_C@_13CKBCJILK@?$AAJ?$AA?$AA@"
663// CHECK: @"??_C@_13JCKOPPNP@?$AAK?$AA?$AA@"
664// CHECK: @"??_C@_13PHJMHGG@?$AAL?$AA?$AA@"
665// CHECK: @"??_C@_13LHMFKAAD@?$AAM?$AA?$AA@"
666// CHECK: @"??_C@_13KFHAAPON@?$AAN?$AA?$AA@"
667// CHECK: @"??_C@_13BNMMGIII@?$AAO?$AA?$AA@"
668// CHECK: @"??_C@_13BFLGCPEB@?$AAP?$AA?$AA@"
669// CHECK: @"??_C@_13KNAKEICE@?$AAQ?$AA?$AA@"
670// CHECK: @"??_C@_13LPLPOHMK@?$AAR?$AA?$AA@"
671// CHECK: @"??_C@_13HADIAKP@?$AAS?$AA?$AA@"
672// CHECK: @"??_C@_13JKNELIBG@?$AAT?$AA?$AA@"
673// CHECK: @"??_C@_13CCGINPHD@?$AAU?$AA?$AA@"
674// CHECK: @"??_C@_13DANNHAJN@?$AAV?$AA?$AA@"
675// CHECK: @"??_C@_13IIGBBHPI@?$AAW?$AA?$AA@"
676// CHECK: @"??_C@_13NAACAHKO@?$AAX?$AA?$AA@"
677// CHECK: @"??_C@_13GILOGAML@?$AAY?$AA?$AA@"
678// CHECK: @"??_C@_13HKALMPCF@?$AAZ?$AA?$AA@"
679// CHECK: @"??_C@_13MCLHKIEA@?$AA?$FL?$AA?$AA@"
680// CHECK: @"??_C@_13FPGAJAPJ@?$AA?2?$AA?$AA@"
681// CHECK: @"??_C@_13OHNMPHJM@?$AA?$FN?$AA?$AA@"
682// CHECK: @"??_C@_13PFGJFIHC@?$AA?$FO?$AA?$AA@"
683// CHECK: @"??_C@_13ENNFDPBH@?$AA_?$AA?$AA@"
684// CHECK: @"??_C@_13OFJNNHOA@?$AA?$GA?$AA?$AA@"
685// CHECK: @"??_C@_13FNCBLAIF@?$AAa?$AA?$AA@"
686// CHECK: @"??_C@_13EPJEBPGL@?$AAb?$AA?$AA@"
687// CHECK: @"??_C@_13PHCIHIAO@?$AAc?$AA?$AA@"
688// CHECK: @"??_C@_13GKPPEALH@?$AAd?$AA?$AA@"
689// CHECK: @"??_C@_13NCEDCHNC@?$AAe?$AA?$AA@"
690// CHECK: @"??_C@_13MAPGIIDM@?$AAf?$AA?$AA@"
691// CHECK: @"??_C@_13HIEKOPFJ@?$AAg?$AA?$AA@"
692// CHECK: @"??_C@_13CACJPPAP@?$AAh?$AA?$AA@"
693// CHECK: @"??_C@_13JIJFJIGK@?$AAi?$AA?$AA@"
694// CHECK: @"??_C@_13IKCADHIE@?$AAj?$AA?$AA@"
695// CHECK: @"??_C@_13DCJMFAOB@?$AAk?$AA?$AA@"
696// CHECK: @"??_C@_13KPELGIFI@?$AAl?$AA?$AA@"
697// CHECK: @"??_C@_13BHPHAPDN@?$AAm?$AA?$AA@"
698// CHECK: @"??_C@_13FECKAND@?$AAn?$AA?$AA@"
699// CHECK: @"??_C@_13LNPOMHLG@?$AAo?$AA?$AA@"
700// CHECK: @"??_C@_13LFIEIAHP@?$AAp?$AA?$AA@"
701// CHECK: @"??_C@_13NDIOHBK@?$AAq?$AA?$AA@"
702// CHECK: @"??_C@_13BPINEIPE@?$AAr?$AA?$AA@"
703// CHECK: @"??_C@_13KHDBCPJB@?$AAs?$AA?$AA@"
704// CHECK: @"??_C@_13DKOGBHCI@?$AAt?$AA?$AA@"
705// CHECK: @"??_C@_13ICFKHAEN@?$AAu?$AA?$AA@"
706// CHECK: @"??_C@_13JAOPNPKD@?$AAv?$AA?$AA@"
707// CHECK: @"??_C@_13CIFDLIMG@?$AAw?$AA?$AA@"
708// CHECK: @"??_C@_13HADAKIJA@?$AAx?$AA?$AA@"
709// CHECK: @"??_C@_13MIIMMPPF@?$AAy?$AA?$AA@"
710// CHECK: @"??_C@_13NKDJGABL@?$AAz?$AA?$AA@"
711// CHECK: @"??_C@_13GCIFAHHO@?$AA?$HL?$AA?$AA@"
712// CHECK: @"??_C@_13PPFCDPMH@?$AA?$HM?$AA?$AA@"
713// CHECK: @"??_C@_13EHOOFIKC@?$AA?$HN?$AA?$AA@"
714// CHECK: @"??_C@_13FFFLPHEM@?$AA?$HO?$AA?$AA@"
715
716const char *LongASCIIString = "012345678901234567890123456789ABCDEF";
717// CHECK: @"??_C@_0CF@LABBIIMO@012345678901234567890123456789AB@"
718const wchar_t *LongWideString = L"012345678901234567890123456789ABCDEF";
719// CHECK: @"??_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@"
720const wchar_t *UnicodeLiteral = L"\ud7ff";
721// CHECK: @"??_C@_13IIHIAFKH@?W?$PP?$AA?$AA@"
722
723const char *U8Literal = u8"hi";
724// CHECK: @"??_C@_02PCEFGMJL@hi?$AA@"
725const char *LongU8Literal = u8"012345678901234567890123456789ABCDEF";
726// CHECK: @"??_C@_0CF@LABBIIMO@012345678901234567890123456789AB@"
727
728const char16_t *U16Literal = u"hi";
729// CHECK: @"??_C@_05OMLEGLOC@h?$AAi?$AA?$AA?$AA@"
730// Note this starts with o instead of 0. Else LongWideString would have
731// the same initializer and CodeGenModule::ConstantStringMap would map them
732// to the same global with a shared mangling.
733// FIXME: ConstantStringMap probably shouldn't map things with the same data
734// but different manglings to the same variable.
735const char16_t *LongU16Literal = u"o12345678901234567890123456789ABCDEF";
736// CHECK: @"??_C@_0EK@FEAOBHPP@o?$AA1?$AA2?$AA3?$AA4?$AA5?$AA6?$AA7?$AA8?$AA9?$AA0?$AA1?$AA2?$AA3?$AA4?$AA5?$AA@"
737
738const char32_t *U32Literal = U"hi";
739// CHECK: @"??_C@_0M@GFNAJIPG@h?$AA?$AA?$AAi?$AA?$AA?$AA?$AA?$AA?$AA?$AA@"
740const char32_t *LongU32Literal = U"012345678901234567890123456789ABCDEF";
741// CHECK: @"??_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@"
742
743// These all have just the right length that the trailing 0 just fits.
744const char *MaxASCIIString = "012345678901234567890123456789A";
745// CHECK: @"??_C@_0CA@NMANGEKF@012345678901234567890123456789A?$AA@"
746const wchar_t *MaxWideString = L"012345678901234567890123456789A";
747// CHECK: @"??_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@"
748const char *MaxU8String = u8"012345678901234567890123456789A";
749// CHECK: @"??_C@_0CA@NMANGEKF@012345678901234567890123456789A?$AA@"
750const char16_t *MaxU16String = u"012345678901234";
751// CHECK: @"??_C@_0CA@NFEFHIFO@0?$AA1?$AA2?$AA3?$AA4?$AA5?$AA6?$AA7?$AA8?$AA9?$AA0?$AA1?$AA2?$AA3?$AA4?$AA?$AA?$AA@"
752const char32_t *MaxU32String = U"0123456";
753// CHECK: @"??_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@"
754