xref: /llvm-project/llvm/test/Demangle/rust.test (revision c8c2b4629f7597ac16102dab6150da14d68167de)
17310403eSTomasz MiąskoRUN: llvm-cxxfilt -n  < %s | FileCheck --match-full-lines %s
27310403eSTomasz Miąsko
37310403eSTomasz MiąskoCHECK: a::main
47310403eSTomasz Miąsko       _RNvC1a4main
57310403eSTomasz Miąsko
67310403eSTomasz MiąskoCHECK: hello::rust
77310403eSTomasz Miąsko       _RNvCshGpAVYOtgW1_5hello4rust
87310403eSTomasz Miąsko
97310403eSTomasz MiąskoCHECK: a::b::c
107310403eSTomasz Miąsko       _RNvNvC1a1b1c
117310403eSTomasz Miąsko
1243929cccSTomasz Miąsko; Instantiating crate
1343929cccSTomasz Miąsko
1443929cccSTomasz MiąskoCHECK: crate
1543929cccSTomasz Miąsko       _RC5crateC3foo
1643929cccSTomasz Miąsko
1778e94915STomasz Miąsko; Closure namespace
1878e94915STomasz Miąsko
1978e94915STomasz MiąskoCHECK: crate::{closure#0}
2078e94915STomasz Miąsko       _RNCC5crate0
2178e94915STomasz Miąsko
2278e94915STomasz MiąskoCHECK: crate::{closure#1}
2378e94915STomasz Miąsko       _RNCC5crates_0
2478e94915STomasz Miąsko
2578e94915STomasz MiąskoCHECK: crate::{closure:foo#0}
2678e94915STomasz Miąsko       _RNCC5crate3foo
2778e94915STomasz Miąsko
2878e94915STomasz MiąskoCHECK: crate::{closure:foo#1}
2978e94915STomasz Miąsko       _RNCC5crates_3foo
3078e94915STomasz Miąsko
3178e94915STomasz Miąsko; Shim namespace
3278e94915STomasz Miąsko
3378e94915STomasz MiąskoCHECK: crate::{shim:reify#0}
3478e94915STomasz Miąsko       _RNSC5crate5reify
3578e94915STomasz Miąsko
3678e94915STomasz Miąsko; Unrecognized special namespace
3778e94915STomasz Miąsko
3878e94915STomasz MiąskoCHECK: crate::{Z:ident#10}
3978e94915STomasz Miąsko       _RNZC5crates8_5ident
4078e94915STomasz Miąsko
41f0f2a8b2STomasz Miąsko; Inherent impl
42f0f2a8b2STomasz Miąsko
43f0f2a8b2STomasz MiąskoCHECK: <_>
44f0f2a8b2STomasz Miąsko       _RMC5cratep
45f0f2a8b2STomasz Miąsko
46f0f2a8b2STomasz MiąskoCHECK: <_>
47f0f2a8b2STomasz Miąsko       _RMs_C5cratep
48f0f2a8b2STomasz Miąsko
499fa13800STomasz Miąsko; Trait impl
509fa13800STomasz Miąsko
519fa13800STomasz MiąskoCHECK: <_ as Clone>
529fa13800STomasz Miąsko       _RXC5cratepC5Clone
539fa13800STomasz Miąsko
549fa13800STomasz MiąskoCHECK: <_ as Clone>
559fa13800STomasz Miąsko       _RXs_C5cratepC5Clone
569fa13800STomasz Miąsko
57f933f7fbSTomasz Miąsko; Trait definition
58f933f7fbSTomasz Miąsko
59f933f7fbSTomasz MiąskoCHECK: <_ as Ord>
60f933f7fbSTomasz Miąsko       _RYpC3Ord
61f933f7fbSTomasz Miąsko
622961f863STomasz Miąsko; Generic type arguments
632961f863STomasz Miąsko
642961f863STomasz MiąskoCHECK: generic::<_>
652961f863STomasz Miąsko       _RIC7genericpE
662961f863STomasz Miąsko
672961f863STomasz MiąskoCHECK: generic::<_, _>
682961f863STomasz Miąsko       _RIC7genericppE
692961f863STomasz Miąsko
702961f863STomasz MiąskoCHECK: generic::<_, _, _>
712961f863STomasz Miąsko       _RIC7genericpppE
722961f863STomasz Miąsko
73cd74dd17STomasz Miąsko; Generic const arguments
74cd74dd17STomasz Miąsko
75cd74dd17STomasz MiąskoCHECK: generic_const::<_>
76cd74dd17STomasz Miąsko       _RIC13generic_constKpE
77cd74dd17STomasz Miąsko
78a67a234eSTomasz Miąsko; Generic lifetime arguments
79a67a234eSTomasz Miąsko
80a67a234eSTomasz MiąskoCHECK: generic_lifetime::<'_>
81a67a234eSTomasz Miąsko       _RIC16generic_lifetimeL_E
82a67a234eSTomasz Miąsko
83a67a234eSTomasz Miąsko; Invalid lifetime index.
84a67a234eSTomasz Miąsko
85a67a234eSTomasz MiąskoCHECK: _RIC16generic_lifetimeL0_E
86a67a234eSTomasz Miąsko       _RIC16generic_lifetimeL0_E
87a67a234eSTomasz Miąsko
882961f863STomasz Miąsko; Basic types
892961f863STomasz Miąsko
902961f863STomasz MiąskoCHECK: basic::<i8>
912961f863STomasz Miąsko       _RIC5basicaE
922961f863STomasz Miąsko
932961f863STomasz MiąskoCHECK: basic::<bool>
942961f863STomasz Miąsko       _RIC5basicbE
952961f863STomasz Miąsko
962961f863STomasz MiąskoCHECK: basic::<char>
972961f863STomasz Miąsko       _RIC5basiccE
982961f863STomasz Miąsko
992961f863STomasz MiąskoCHECK: basic::<f64>
1002961f863STomasz Miąsko       _RIC5basicdE
1012961f863STomasz Miąsko
1022961f863STomasz MiąskoCHECK: basic::<str>
1032961f863STomasz Miąsko       _RIC5basiceE
1042961f863STomasz Miąsko
1052961f863STomasz MiąskoCHECK: basic::<f32>
1062961f863STomasz Miąsko       _RIC5basicfE
1072961f863STomasz Miąsko
1082961f863STomasz MiąskoCHECK: basic::<u8>
1092961f863STomasz Miąsko       _RIC5basichE
1102961f863STomasz Miąsko
1112961f863STomasz MiąskoCHECK: basic::<isize>
1122961f863STomasz Miąsko       _RIC5basiciE
1132961f863STomasz Miąsko
1142961f863STomasz MiąskoCHECK: basic::<usize>
1152961f863STomasz Miąsko       _RIC5basicjE
1162961f863STomasz Miąsko
1172961f863STomasz MiąskoCHECK: basic::<i32>
1182961f863STomasz Miąsko       _RIC5basiclE
1192961f863STomasz Miąsko
1202961f863STomasz MiąskoCHECK: basic::<u32>
1212961f863STomasz Miąsko       _RIC5basicmE
1222961f863STomasz Miąsko
1232961f863STomasz MiąskoCHECK: basic::<i128>
1242961f863STomasz Miąsko       _RIC5basicnE
1252961f863STomasz Miąsko
1262961f863STomasz MiąskoCHECK: basic::<u128>
1272961f863STomasz Miąsko       _RIC5basicoE
1282961f863STomasz Miąsko
1292961f863STomasz MiąskoCHECK: basic::<_>
1302961f863STomasz Miąsko       _RIC5basicpE
1312961f863STomasz Miąsko
1322961f863STomasz MiąskoCHECK: basic::<i16>
1332961f863STomasz Miąsko       _RIC5basicsE
1342961f863STomasz Miąsko
1352961f863STomasz MiąskoCHECK: basic::<u16>
1362961f863STomasz Miąsko       _RIC5basictE
1372961f863STomasz Miąsko
1382961f863STomasz MiąskoCHECK: basic::<()>
1392961f863STomasz Miąsko       _RIC5basicuE
1402961f863STomasz Miąsko
1412961f863STomasz MiąskoCHECK: basic::<...>
1422961f863STomasz Miąsko       _RIC5basicvE
1432961f863STomasz Miąsko
1442961f863STomasz MiąskoCHECK: basic::<i64>
1452961f863STomasz Miąsko       _RIC5basicxE
1462961f863STomasz Miąsko
1472961f863STomasz MiąskoCHECK: basic::<u64>
1482961f863STomasz Miąsko       _RIC5basicyE
1492961f863STomasz Miąsko
1502961f863STomasz MiąskoCHECK: basic::<!>
1512961f863STomasz Miąsko       _RIC5basiczE
1522961f863STomasz Miąsko
15306833297STomasz Miąsko; Named types. Test possible paths productions.
15406833297STomasz Miąsko
15506833297STomasz MiąskoCHECK: named::<name>
15606833297STomasz Miąsko       _RIC5namedC4nameE
15706833297STomasz Miąsko
15806833297STomasz MiąskoCHECK: named::<<_>>
15906833297STomasz Miąsko       _RIC5namedMC5cratepE
16006833297STomasz Miąsko
16106833297STomasz MiąskoCHECK: named::<<_ as Name>>
16206833297STomasz Miąsko       _RIC5namedXC5cratepC4NameE
16306833297STomasz Miąsko
16406833297STomasz MiąskoCHECK: named::<<_ as Name>>
16506833297STomasz Miąsko       _RIC5namedYpC4NameE
16606833297STomasz Miąsko
16706833297STomasz MiąskoCHECK: named::<name::Name>
16806833297STomasz Miąsko       _RIC5namedNvC4name4NameE
16906833297STomasz Miąsko
17006833297STomasz MiąskoCHECK: named::<Name<>>
17106833297STomasz Miąsko       _RIC5namedIC4NameEE
17206833297STomasz Miąsko
173b42400ccSTomasz Miąsko; Types
174b42400ccSTomasz Miąsko
175b42400ccSTomasz MiąskoCHECK: types::<[u8; 0]>
176b42400ccSTomasz Miąsko       _RIC5typesAhj0_E
177b42400ccSTomasz Miąsko
178a84c65c2STomasz MiąskoCHECK: types::<[_]>
179a84c65c2STomasz Miąsko       _RIC5typesSpE
180a84c65c2STomasz Miąsko
181774de7a0STomasz MiąskoCHECK: types::<()>
182774de7a0STomasz Miąsko       _RIC5typesTEE
183774de7a0STomasz Miąsko
184774de7a0STomasz MiąskoCHECK: types::<(_,)>
185774de7a0STomasz Miąsko       _RIC5typesTpEE
186774de7a0STomasz Miąsko
187774de7a0STomasz MiąskoCHECK: types::<(_, _)>
188774de7a0STomasz Miąsko       _RIC5typesTppEE
189774de7a0STomasz Miąsko
190774de7a0STomasz MiąskoCHECK: types::<(_, _, _)>
191774de7a0STomasz Miąsko       _RIC5typesTpppEE
192774de7a0STomasz Miąsko
193e4fa6c95STomasz MiąskoCHECK: types::<&_>
194e4fa6c95STomasz Miąsko       _RIC5typesRpE
195e4fa6c95STomasz Miąsko
196a67a234eSTomasz MiąskoCHECK: types::<&_>
197a67a234eSTomasz Miąsko       _RIC5typesRL_pE
198a67a234eSTomasz Miąsko
199e4fa6c95STomasz MiąskoCHECK: types::<&mut _>
200e4fa6c95STomasz Miąsko       _RIC5typesQpE
201e4fa6c95STomasz Miąsko
202a67a234eSTomasz MiąskoCHECK: types::<&mut _>
203a67a234eSTomasz Miąsko       _RIC5typesQL_pE
204a67a234eSTomasz Miąsko
2056aac5633STomasz MiąskoCHECK: types::<*const _>
2066aac5633STomasz Miąsko       _RIC5typesPpE
2076aac5633STomasz Miąsko
2086aac5633STomasz MiąskoCHECK: types::<*mut _>
2096aac5633STomasz Miąsko       _RIC5typesOpE
2106aac5633STomasz Miąsko
21175cc1cf0STomasz Miąsko; Function signatures
21275cc1cf0STomasz Miąsko
21375cc1cf0STomasz MiąskoCHECK: function::<fn()>
21475cc1cf0STomasz Miąsko       _RIC8functionFEuE
21575cc1cf0STomasz Miąsko
21675cc1cf0STomasz MiąskoCHECK: function::<fn() -> _>
21775cc1cf0STomasz Miąsko       _RIC8functionFEpE
21875cc1cf0STomasz Miąsko
21975cc1cf0STomasz MiąskoCHECK: function::<fn(_)>
22075cc1cf0STomasz Miąsko       _RIC8functionFpEuE
22175cc1cf0STomasz Miąsko
22275cc1cf0STomasz MiąskoCHECK: function::<fn(_, _)>
22375cc1cf0STomasz Miąsko       _RIC8functionFppEuE
22475cc1cf0STomasz Miąsko
22575cc1cf0STomasz MiąskoCHECK: function::<fn(_, _, _)>
22675cc1cf0STomasz Miąsko       _RIC8functionFpppEuE
22775cc1cf0STomasz Miąsko
22875cc1cf0STomasz MiąskoCHECK: function::<unsafe fn()>
22975cc1cf0STomasz Miąsko       _RIC8functionFUEuE
23075cc1cf0STomasz Miąsko
23175cc1cf0STomasz MiąskoCHECK: function::<extern "C" fn()>
23275cc1cf0STomasz Miąsko       _RIC8functionFKCEuE
23375cc1cf0STomasz Miąsko
23475cc1cf0STomasz MiąskoCHECK: function::<extern "cdecl" fn()>
23575cc1cf0STomasz Miąsko       _RIC8functionFK5cdeclEuE
23675cc1cf0STomasz Miąsko
23775cc1cf0STomasz MiąskoCHECK: function::<unsafe extern "C-cmse-nonsecure-call" fn()>
23875cc1cf0STomasz Miąsko       _RIC8functionFUK21C_cmse_nonsecure_callEuE
23975cc1cf0STomasz Miąsko
240*c8c2b462STomasz Miąsko; Invalid ABI with punycode.
241*c8c2b462STomasz Miąsko
242*c8c2b462STomasz MiąskoCHECK: _RIC8functionFKu3n3hEuE
243*c8c2b462STomasz Miąsko       _RIC8functionFKu3n3hEuE
244*c8c2b462STomasz Miąsko
24589615a5eSTomasz Miąsko; Trait objects
24689615a5eSTomasz Miąsko
24789615a5eSTomasz MiąskoCHECK: trait::<dyn >
24889615a5eSTomasz Miąsko       _RIC5traitDEL_E
24989615a5eSTomasz Miąsko
25089615a5eSTomasz MiąskoCHECK: trait::<dyn for<'a> >
25189615a5eSTomasz Miąsko       _RIC5traitDG_EL_E
25289615a5eSTomasz Miąsko
25389615a5eSTomasz MiąskoCHECK: trait::<for<'a> fn(dyn for<'b> + 'a)>
25489615a5eSTomasz Miąsko       _RIC5traitFG_DG_EL0_EuE
25589615a5eSTomasz Miąsko
2561499afa0STomasz MiąskoCHECK: trait::<dyn Display>
2571499afa0STomasz Miąsko       _RIC5traitDC7DisplayEL_E
2581499afa0STomasz Miąsko
2591499afa0STomasz MiąskoCHECK: trait::<dyn Display + Send + Sync>
2601499afa0STomasz Miąsko       _RIC5traitDC7DisplayC4SendC4SyncEL_E
2611499afa0STomasz Miąsko
2621499afa0STomasz MiąskoCHECK: trait::<dyn for<'a> Display>
2631499afa0STomasz Miąsko       _RIC5traitDG_C7DisplayEL_E
2641499afa0STomasz Miąsko
265619a65e5STomasz MiąskoCHECK: trait::<dyn IntoIterator<_, Item = _>>
266619a65e5STomasz Miąsko       _RIC5traitDIC12IntoIteratorpEp4ItempEL_E
267619a65e5STomasz Miąsko
268619a65e5STomasz MiąskoCHECK: trait::<dyn IntoIterator<Item = _>>
269619a65e5STomasz Miąsko       _RIC5traitDC12IntoIteratorp4ItempEL_E
270619a65e5STomasz Miąsko
271619a65e5STomasz MiąskoCHECK: trait::<dyn IntoIterator<Item = _, IntoIter = _>>
272619a65e5STomasz Miąsko       _RIC5traitDC12IntoIteratorp4Itempp8IntoIterpEL_E
273619a65e5STomasz Miąsko
27489615a5eSTomasz Miąsko; Invalid trait object, missing lifetime.
27589615a5eSTomasz Miąsko
27689615a5eSTomasz MiąskoCHECK: _RIC5traitDEE
27789615a5eSTomasz Miąsko       _RIC5traitDEE
27889615a5eSTomasz Miąsko
279a67a234eSTomasz Miąsko; Binders
280a67a234eSTomasz Miąsko
281a67a234eSTomasz MiąskoCHECK: binders::<for<'a> fn(&'a _)>
282a67a234eSTomasz Miąsko       _RIC7bindersFG_RL0_pEuE
283a67a234eSTomasz Miąsko
284a67a234eSTomasz MiąskoCHECK: binders::<for<'a> fn(&'a mut _)>
285a67a234eSTomasz Miąsko       _RIC7bindersFG_QL0_pEuE
286a67a234eSTomasz Miąsko
287a67a234eSTomasz MiąskoCHECK: binders::<for<'a, 'b> fn(&'a _, &'b _)>
288a67a234eSTomasz Miąsko       _RIC7bindersFG0_RL1_pRL0_pEuE
289a67a234eSTomasz Miąsko
290a67a234eSTomasz MiąskoCHECK: binders::<for<'a, 'b> fn() -> for<'c, 'd> fn(&'a _, &'d _)>
291a67a234eSTomasz Miąsko       _RIC7bindersFG0_EFG0_RL3_pRL0_pEuE
292a67a234eSTomasz Miąsko
293a67a234eSTomasz MiąskoCHECK: binders::<for<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, 'k, 'l, 'm, 'n, 'o, 'p, 'q, 'r, 's, 't, 'u, 'v, 'w, 'x, 'y, 'z, 'z1, 'z2, 'z3, 'z4> fn(&'a &'b &'c &'d &'e &'f &'g &'h &'i &'j &'k &'l &'m &'n &'o &'p &'q &'r &'s &'t &'u &'v &'w &'x &'y &'z &'z1 &'z2 &'z3 &'z4 ())>
294a67a234eSTomasz Miąsko       _RIC7bindersFGs_RLt_RLs_RLr_RLq_RLp_RLo_RLn_RLm_RLl_RLk_RLj_RLi_RLh_RLg_RLf_RLe_RLd_RLc_RLb_RLa_RL9_RL8_RL7_RL6_RL5_RL4_RL3_RL2_RL1_RL0_uEuE
295a67a234eSTomasz Miąsko
296a67a234eSTomasz Miąsko; Invalid binder. Too many bound lifetimes.
297a67a234eSTomasz Miąsko
298a67a234eSTomasz MiąskoCHECK: _RIC7bindersFGFF_EuE
299a67a234eSTomasz Miąsko       _RIC7bindersFGFF_EuE
300a67a234eSTomasz Miąsko
301cd74dd17STomasz Miąsko; Integer constants. Test value demangling.
302cd74dd17STomasz Miąsko
303cd74dd17STomasz MiąskoCHECK: integer::<0>
304cd74dd17STomasz Miąsko       _RIC7integerKi0_E
305cd74dd17STomasz Miąsko
306cd74dd17STomasz MiąskoCHECK: integer::<1>
307cd74dd17STomasz Miąsko       _RIC7integerKi1_E
308cd74dd17STomasz Miąsko
309cd74dd17STomasz MiąskoCHECK: integer::<-1>
310cd74dd17STomasz Miąsko       _RIC7integerKin1_E
311cd74dd17STomasz Miąsko
312cd74dd17STomasz MiąskoCHECK: integer::<-15>
313cd74dd17STomasz Miąsko       _RIC7integerKinf_E
314cd74dd17STomasz Miąsko
315cd74dd17STomasz MiąskoCHECK: integer::<-16>
316cd74dd17STomasz Miąsko       _RIC7integerKin10_E
317cd74dd17STomasz Miąsko
318cd74dd17STomasz MiąskoCHECK: integer::<18446744073709551615>
319cd74dd17STomasz Miąsko       _RIC7integerKoffffffffffffffff_E
320cd74dd17STomasz Miąsko
321cd74dd17STomasz MiąskoCHECK: integer::<0x10000000000000000>
322cd74dd17STomasz Miąsko       _RIC7integerKo10000000000000000_E
323cd74dd17STomasz Miąsko
324cd74dd17STomasz MiąskoCHECK: integer::<-0x123456789abcdef01>
325cd74dd17STomasz Miąsko       _RIC7integerKnn123456789abcdef01_E
326cd74dd17STomasz Miąsko
327cd74dd17STomasz Miąsko; Invalid integer constant without any digits:
328cd74dd17STomasz Miąsko
329cd74dd17STomasz MiąskoCHECK: _RIC7integerKi_E
330cd74dd17STomasz Miąsko       _RIC7integerKi_E
331cd74dd17STomasz Miąsko
332cd74dd17STomasz Miąsko; Invalid integer constants with insignificant leading zeros:
333cd74dd17STomasz Miąsko
334cd74dd17STomasz MiąskoCHECK: _RIC7integerKi00_E
335cd74dd17STomasz Miąsko       _RIC7integerKi00_E
336cd74dd17STomasz Miąsko
337cd74dd17STomasz MiąskoCHECK: _RIC7integerKi01_E
338cd74dd17STomasz Miąsko       _RIC7integerKi01_E
339cd74dd17STomasz Miąsko
340cd74dd17STomasz Miąsko; Integer constants. Test all integer types.
341cd74dd17STomasz Miąsko
342cd74dd17STomasz MiąskoCHECK: i8::<0>
343cd74dd17STomasz Miąsko       _RIC2i8Ka0_E
344cd74dd17STomasz Miąsko
345cd74dd17STomasz MiąskoCHECK: u8::<0>
346cd74dd17STomasz Miąsko       _RIC2u8Kh0_E
347cd74dd17STomasz Miąsko
348cd74dd17STomasz MiąskoCHECK: isize::<0>
349cd74dd17STomasz Miąsko       _RIC5isizeKi0_E
350cd74dd17STomasz Miąsko
351cd74dd17STomasz MiąskoCHECK: usize::<0>
352cd74dd17STomasz Miąsko       _RIC5usizeKj0_E
353cd74dd17STomasz Miąsko
354cd74dd17STomasz MiąskoCHECK: i32::<0>
355cd74dd17STomasz Miąsko       _RIC3i32Kl0_E
356cd74dd17STomasz Miąsko
357cd74dd17STomasz MiąskoCHECK: u32::<0>
358cd74dd17STomasz Miąsko       _RIC3u32Km0_E
359cd74dd17STomasz Miąsko
360cd74dd17STomasz MiąskoCHECK: i128::<0>
361cd74dd17STomasz Miąsko       _RIC4i128Kn0_E
362cd74dd17STomasz Miąsko
363cd74dd17STomasz MiąskoCHECK: u128::<0>
364cd74dd17STomasz Miąsko       _RIC4u128Ko0_E
365cd74dd17STomasz Miąsko
366cd74dd17STomasz MiąskoCHECK: i16::<0>
367cd74dd17STomasz Miąsko       _RIC3i16Ks0_E
368cd74dd17STomasz Miąsko
369cd74dd17STomasz MiąskoCHECK: u16::<0>
370cd74dd17STomasz Miąsko       _RIC3u16Kt0_E
371cd74dd17STomasz Miąsko
372cd74dd17STomasz MiąskoCHECK: i64::<0>
373cd74dd17STomasz Miąsko       _RIC3i64Kx0_E
374cd74dd17STomasz Miąsko
375cd74dd17STomasz MiąskoCHECK: u64::<0>
376cd74dd17STomasz Miąsko       _RIC3u64Ky0_E
377cd74dd17STomasz Miąsko
378fc0f2bb9STomasz Miąsko; Bool constants
379fc0f2bb9STomasz Miąsko
380fc0f2bb9STomasz MiąskoCHECK: bool::<false>
381fc0f2bb9STomasz Miąsko       _RIC4boolKb0_E
382fc0f2bb9STomasz Miąsko
383fc0f2bb9STomasz MiąskoCHECK: bool::<true>
384fc0f2bb9STomasz Miąsko       _RIC4boolKb1_E
385fc0f2bb9STomasz Miąsko
386fc0f2bb9STomasz Miąsko; Invalid bool constants
387fc0f2bb9STomasz Miąsko
388fc0f2bb9STomasz MiąskoCHECK: _RIC4boolKb2_E
389fc0f2bb9STomasz Miąsko       _RIC4boolKb2_E
390fc0f2bb9STomasz Miąsko
391fc0f2bb9STomasz MiąskoCHECK: _RIC4boolKbn0_E
392fc0f2bb9STomasz Miąsko       _RIC4boolKbn0_E
393fc0f2bb9STomasz Miąsko
3942ba49f6aSTomasz Miąsko; Char constants
3952ba49f6aSTomasz Miąsko
3962ba49f6aSTomasz MiąskoCHECK: char::<'a'>
3972ba49f6aSTomasz Miąsko       _RIC4charKc61_E
3982ba49f6aSTomasz Miąsko
3992ba49f6aSTomasz MiąskoCHECK: char::<'"'>
4002ba49f6aSTomasz Miąsko       _RIC4charKc22_E
4012ba49f6aSTomasz Miąsko
4022ba49f6aSTomasz MiąskoCHECK: char::<'\t'>
4032ba49f6aSTomasz Miąsko       _RIC4charKc9_E
4042ba49f6aSTomasz Miąsko
4052ba49f6aSTomasz MiąskoCHECK: char::<'\r'>
4062ba49f6aSTomasz Miąsko       _RIC4charKcd_E
4072ba49f6aSTomasz Miąsko
4082ba49f6aSTomasz MiąskoCHECK: char::<'\n'>
4092ba49f6aSTomasz Miąsko       _RIC4charKca_E
4102ba49f6aSTomasz Miąsko
4112ba49f6aSTomasz MiąskoCHECK: char::<'\\'>
4122ba49f6aSTomasz Miąsko       _RIC4charKc5c_E
4132ba49f6aSTomasz Miąsko
4142ba49f6aSTomasz MiąskoCHECK: char::<'\''>
4152ba49f6aSTomasz Miąsko       _RIC4charKc27_E
4162ba49f6aSTomasz Miąsko
4172ba49f6aSTomasz MiąskoCHECK: char::<'\u{1f40d}'>
4182ba49f6aSTomasz Miąsko       _RIC4charKc1f40d_E
4192ba49f6aSTomasz Miąsko
4202ba49f6aSTomasz MiąskoCHECK: char::<'\u{10ffff}'>
4212ba49f6aSTomasz Miąsko       _RIC4charKc10ffff_E
4222ba49f6aSTomasz Miąsko
4232ba49f6aSTomasz Miąsko; Invalid char constants
4242ba49f6aSTomasz Miąsko
4252ba49f6aSTomasz MiąskoCHECK: _RIC4charKc1234567_E
4262ba49f6aSTomasz Miąsko       _RIC4charKc1234567_E
4272ba49f6aSTomasz Miąsko
42882b7e822STomasz Miąsko; Backreferences
42982b7e822STomasz Miąsko
43082b7e822STomasz MiąskoCHECK: backref::<backref::ident>
43182b7e822STomasz Miąsko       _RIC7backrefNvB0_5identE
43282b7e822STomasz Miąsko
43344d63c57STomasz MiąskoCHECK: backref::<(), ()>
43444d63c57STomasz Miąsko       _RIC7backrefuB9_E
43544d63c57STomasz Miąsko
436f9a79356STomasz MiąskoCHECK: backref::<7, 7>
437f9a79356STomasz Miąsko       _RIC7backrefKi7_KBa_E
438f9a79356STomasz Miąsko
43982b7e822STomasz Miąsko; Invalid backreferences
44082b7e822STomasz Miąsko
44182b7e822STomasz MiąskoCHECK: _RB_
44282b7e822STomasz Miąsko       _RB_
44382b7e822STomasz Miąsko
44482b7e822STomasz MiąskoCHECK: _RB5_
44582b7e822STomasz Miąsko       _RB5_
44682b7e822STomasz Miąsko
44782b7e822STomasz MiąskoCHECK: _RNvB_1a
44882b7e822STomasz Miąsko       _RNvB_1a
44982b7e822STomasz Miąsko
45044d63c57STomasz MiąskoCHECK: _RIC7backrefSB9_E
45144d63c57STomasz Miąsko       _RIC7backrefSB9_E
45244d63c57STomasz Miąsko
453f9a79356STomasz MiąskoCHECK: _RIC7backrefKBa_E
454f9a79356STomasz Miąsko       _RIC7backrefKBa_E
455f9a79356STomasz Miąsko
4562a5bb9c8STomasz Miąsko; Dot suffix
4572a5bb9c8STomasz Miąsko
4582a5bb9c8STomasz MiąskoCHECK: dot (.llvm.1234)
4592a5bb9c8STomasz Miąsko       _RC3dot.llvm.1234
4602a5bb9c8STomasz Miąsko
4612a5bb9c8STomasz MiąskoCHECK: dot (.llvm.6789)
4622a5bb9c8STomasz Miąsko       _RC3dotC5crate.llvm.6789
4632a5bb9c8STomasz Miąsko
464*c8c2b462STomasz Miąsko; Punycode
465*c8c2b462STomasz Miąsko
466*c8c2b462STomasz MiąskoCHECK: punycode::東京
467*c8c2b462STomasz Miąsko       _RNvC8punycodeu7_1lqs71d
468*c8c2b462STomasz Miąsko
469*c8c2b462STomasz MiąskoCHECK: punycode::zażółć_gęślą_jaźń
470*c8c2b462STomasz Miąsko       _RNvC8punycodeu29za_gl_ja_w3a7psa2tqtgb10airva
471*c8c2b462STomasz Miąsko
472*c8c2b462STomasz MiąskoCHECK: punycode::საჭმელად_გემრიელი_სადილი
473*c8c2b462STomasz Miąsko       _RNvC8punycodeu30____7hkackfecea1cbdathfdh9hlq6y
474*c8c2b462STomasz Miąsko
475*c8c2b462STomasz MiąskoCHECK: Gödel::Escher::Bach
476*c8c2b462STomasz Miąsko       _RNtNvCu8Gdel_5qa6Escher4Bach
477*c8c2b462STomasz Miąsko
478*c8c2b462STomasz MiąskoCHECK: punycode::����
479*c8c2b462STomasz Miąsko       _RNvC8punycodeu7wn8hx1g
480*c8c2b462STomasz Miąsko
481*c8c2b462STomasz Miąsko; Punycode - invalid code point
482*c8c2b462STomasz Miąsko
483*c8c2b462STomasz MiąskoCHECK: _RCu5r731r
484*c8c2b462STomasz Miąsko       _RCu5r731r
485*c8c2b462STomasz Miąsko
486*c8c2b462STomasz MiąskoCHECK: _RCu8b44444yy
487*c8c2b462STomasz Miąsko       _RCu8b44444yy
488*c8c2b462STomasz Miąsko
489*c8c2b462STomasz MiąskoCHECK: _RNvC1au25zzzzzzzzzzzzzzzzzzzzzzzzz
490*c8c2b462STomasz Miąsko       _RNvC1au25zzzzzzzzzzzzzzzzzzzzzzzzz
491*c8c2b462STomasz Miąsko
492*c8c2b462STomasz Miąsko; Punycode - early EOF
493*c8c2b462STomasz Miąsko
494*c8c2b462STomasz MiąskoCHECK: _RCu8_CCCAR_u4
495*c8c2b462STomasz Miąsko       _RCu8_CCCAR_u4
496*c8c2b462STomasz Miąsko
497*c8c2b462STomasz Miąsko; Punycode - overflow
498*c8c2b462STomasz Miąsko
499*c8c2b462STomasz MiąskoCHECK: _RNvC1au21p18888888888888888888
500*c8c2b462STomasz Miąsko       _RNvC1au21p18888888888888888888
501*c8c2b462STomasz Miąsko
5027310403eSTomasz Miąsko; Invalid mangled characters
5037310403eSTomasz Miąsko
5047310403eSTomasz MiąskoCHECK: _RNvC2a.1c
5057310403eSTomasz Miąsko       _RNvC2a.1c
5067310403eSTomasz Miąsko
5077310403eSTomasz MiąskoCHECK: _RNvC2a$1c
5087310403eSTomasz Miąsko       _RNvC2a$1c
5097310403eSTomasz Miąsko
51078e94915STomasz Miąsko; Invalid namespace (not in [a-zA-Z]).
51178e94915STomasz Miąsko
51278e94915STomasz MiąskoCHECK: _RN_C5crate4main
51378e94915STomasz Miąsko       _RN_C5crate4main
51478e94915STomasz Miąsko
5157310403eSTomasz Miąsko; Invalid identifier length (UINT64_MAX + 3, which happens to be ok after a wraparound).
5167310403eSTomasz Miąsko
5177310403eSTomasz MiąskoCHECK: _RNvC2ab18446744073709551618xy
5187310403eSTomasz Miąsko       _RNvC2ab18446744073709551618xy
5197310403eSTomasz Miąsko
5207310403eSTomasz Miąsko; Mangling scheme includes an optional encoding version. When present it would
5217310403eSTomasz Miąsko; indicate an encoding we don't support yet. Check that it is rejected:
5227310403eSTomasz Miąsko
5237310403eSTomasz MiąskoCHECK: _R0NvC1a4main
5247310403eSTomasz Miąsko       _R0NvC1a4main
5257310403eSTomasz Miąsko
5267310403eSTomasz Miąsko; Early EOF
5277310403eSTomasz Miąsko
5287310403eSTomasz MiąskoCHECK: _RNv
5297310403eSTomasz Miąsko       _RNv
5307310403eSTomasz Miąsko
5317310403eSTomasz MiąskoCHECK: _RNvC
5327310403eSTomasz Miąsko       _RNvC
5337310403eSTomasz Miąsko
5347310403eSTomasz MiąskoCHECK: _RNvC1a5main
5357310403eSTomasz Miąsko       _RNvC1a5main
5367310403eSTomasz Miąsko
5377310403eSTomasz MiąskoCHECK: _RNvC1a20abc
5387310403eSTomasz Miąsko       _RNvC1a20abc
539