1RUN: llvm-cxxfilt -n < %s | FileCheck --match-full-lines %s 2 3CHECK: a::main 4 _RNvC1a4main 5 6CHECK: hello::rust 7 _RNvCshGpAVYOtgW1_5hello4rust 8 9CHECK: a::b::c 10 _RNvNvC1a1b1c 11 12; Closure namespace 13 14CHECK: crate::{closure#0} 15 _RNCC5crate0 16 17CHECK: crate::{closure#1} 18 _RNCC5crates_0 19 20CHECK: crate::{closure:foo#0} 21 _RNCC5crate3foo 22 23CHECK: crate::{closure:foo#1} 24 _RNCC5crates_3foo 25 26; Shim namespace 27 28CHECK: crate::{shim:reify#0} 29 _RNSC5crate5reify 30 31; Unrecognized special namespace 32 33CHECK: crate::{Z:ident#10} 34 _RNZC5crates8_5ident 35 36; Generic type arguments 37 38CHECK: generic::<_> 39 _RIC7genericpE 40 41CHECK: generic::<_, _> 42 _RIC7genericppE 43 44CHECK: generic::<_, _, _> 45 _RIC7genericpppE 46 47; Basic types 48 49CHECK: basic::<i8> 50 _RIC5basicaE 51 52CHECK: basic::<bool> 53 _RIC5basicbE 54 55CHECK: basic::<char> 56 _RIC5basiccE 57 58CHECK: basic::<f64> 59 _RIC5basicdE 60 61CHECK: basic::<str> 62 _RIC5basiceE 63 64CHECK: basic::<f32> 65 _RIC5basicfE 66 67CHECK: basic::<u8> 68 _RIC5basichE 69 70CHECK: basic::<isize> 71 _RIC5basiciE 72 73CHECK: basic::<usize> 74 _RIC5basicjE 75 76CHECK: basic::<i32> 77 _RIC5basiclE 78 79CHECK: basic::<u32> 80 _RIC5basicmE 81 82CHECK: basic::<i128> 83 _RIC5basicnE 84 85CHECK: basic::<u128> 86 _RIC5basicoE 87 88CHECK: basic::<_> 89 _RIC5basicpE 90 91CHECK: basic::<i16> 92 _RIC5basicsE 93 94CHECK: basic::<u16> 95 _RIC5basictE 96 97CHECK: basic::<()> 98 _RIC5basicuE 99 100CHECK: basic::<...> 101 _RIC5basicvE 102 103CHECK: basic::<i64> 104 _RIC5basicxE 105 106CHECK: basic::<u64> 107 _RIC5basicyE 108 109CHECK: basic::<!> 110 _RIC5basiczE 111 112; Invalid mangled characters 113 114CHECK: _RNvC2a.1c 115 _RNvC2a.1c 116 117CHECK: _RNvC2a$1c 118 _RNvC2a$1c 119 120; Invalid namespace (not in [a-zA-Z]). 121 122CHECK: _RN_C5crate4main 123 _RN_C5crate4main 124 125; Invalid identifier length (UINT64_MAX + 3, which happens to be ok after a wraparound). 126 127CHECK: _RNvC2ab18446744073709551618xy 128 _RNvC2ab18446744073709551618xy 129 130; Mangling scheme includes an optional encoding version. When present it would 131; indicate an encoding we don't support yet. Check that it is rejected: 132 133CHECK: _R0NvC1a4main 134 _R0NvC1a4main 135 136; Early EOF 137 138CHECK: _RNv 139 _RNv 140 141CHECK: _RNvC 142 _RNvC 143 144CHECK: _RNvC1a5main 145 _RNvC1a5main 146 147CHECK: _RNvC1a20abc 148 _RNvC1a20abc 149