Add v0 symbol mangling for f16
and f128
· rust-lang/rust@809b84e (original) (raw)
File tree
2 files changed
lines changed
- compiler/rustc_symbol_mangling/src
- src/doc/rustc/src/symbol-mangling
2 files changed
lines changed
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -319,11 +319,10 @@ impl<'tcx> Printer<'tcx> for SymbolMangler<'tcx> { | ||
319 | 319 | ty::Uint(UintTy::U64) => "y", |
320 | 320 | ty::Uint(UintTy::U128) => "o", |
321 | 321 | ty::Uint(UintTy::Usize) => "j", |
322 | -// FIXME(f16_f128): update these once `rustc-demangle` supports the new types | |
323 | - ty::Float(FloatTy::F16) => unimplemented!("f16_f128"), | |
322 | + ty::Float(FloatTy::F16) => "C3f16", | |
324 | 323 | ty::Float(FloatTy::F32) => "f", |
325 | 324 | ty::Float(FloatTy::F64) => "d", |
326 | - ty::Float(FloatTy::F128) => unimplemented!("f16_f128"), | |
325 | + ty::Float(FloatTy::F128) => "C4f128", | |
327 | 326 | ty::Never => "z", |
328 | 327 | |
329 | 328 | // Placeholders (should be demangled as `_`). |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -739,6 +739,8 @@ The type encodings based on the initial tag character are: | ||
739 | 739 | * `z` — `!` |
740 | 740 | * `p` — [placeholder] `_` |
741 | 741 | |
742 | +Remaining primitives are encoded as a crate production, e.g. `C4f128`. | |
743 | + | |
742 | 744 | * `A` — An [array][reference-array] `[T; N]`. |
743 | 745 | |
744 | 746 | > <span id="array-type">array-type</span> → `A` *[type]* *[const]* |