mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 00:03:43 +00:00
Add v0 symbol mangling for f16
and f128
As discussed at <https://github.com/rust-lang/rust/pull/122106>, use the crate encoding to represent new primitives.
This commit is contained in:
parent
c45e831d8f
commit
809b84edba
@ -319,11 +319,10 @@ impl<'tcx> Printer<'tcx> for SymbolMangler<'tcx> {
|
||||
ty::Uint(UintTy::U64) => "y",
|
||||
ty::Uint(UintTy::U128) => "o",
|
||||
ty::Uint(UintTy::Usize) => "j",
|
||||
// FIXME(f16_f128): update these once `rustc-demangle` supports the new types
|
||||
ty::Float(FloatTy::F16) => unimplemented!("f16_f128"),
|
||||
ty::Float(FloatTy::F16) => "C3f16",
|
||||
ty::Float(FloatTy::F32) => "f",
|
||||
ty::Float(FloatTy::F64) => "d",
|
||||
ty::Float(FloatTy::F128) => unimplemented!("f16_f128"),
|
||||
ty::Float(FloatTy::F128) => "C4f128",
|
||||
ty::Never => "z",
|
||||
|
||||
// Placeholders (should be demangled as `_`).
|
||||
|
@ -739,6 +739,8 @@ The type encodings based on the initial tag character are:
|
||||
* `z` — `!`
|
||||
* `p` — [placeholder] `_`
|
||||
|
||||
Remaining primitives are encoded as a crate production, e.g. `C4f128`.
|
||||
|
||||
* `A` — An [array][reference-array] `[T; N]`.
|
||||
|
||||
> <span id="array-type">array-type</span> → `A` *[type]* *[const]*
|
||||
|
Loading…
Reference in New Issue
Block a user