Skip to content

Commit 7cc1053

Browse files
committed
[Demangler] Fix the name of float vector types in OldDemangler.
The OldDemangler was still spelling Builtin.Vec4xFPIEEE16 as Builtin.Vec4xFloat16, which meant that feeding its output to the new Remangler caused it to fail with "fatal error: unexpected builtin vector type". rdar://63485806
1 parent 775bff0 commit 7cc1053

File tree

4 files changed

+7
-4
lines changed

4 files changed

+7
-4
lines changed

lib/Demangling/OldDemangler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1877,7 +1877,7 @@ class OldDemangler {
18771877
return nullptr;
18781878
return Factory.createNode(
18791879
Node::Kind::BuiltinTypeName,
1880-
(DemanglerPrinter() << "Builtin.Vec" << elts << "xFloat"
1880+
(DemanglerPrinter() << "Builtin.Vec" << elts << "xFPIEEE"
18811881
<< size).str());
18821882
}
18831883
if (Mangled.nextIf('p'))

lib/Demangling/OldRemangler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1178,7 +1178,7 @@ void Remangler::mangleBuiltinTypeName(Node *node) {
11781178
auto element = text.substr(splitIdx).substr(1);
11791179
if (element == "RawPointer") {
11801180
Buffer << 'p';
1181-
} else if (stripPrefix(element, "Float")) {
1181+
} else if (stripPrefix(element, "FPIEEE")) {
11821182
Buffer << 'f' << element << '_';
11831183
} else if (stripPrefix(element, "Int")) {
11841184
Buffer << 'i' << element << '_';

test/Demangle/Inputs/manglings.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@ _TtBo ---> Builtin.NativeObject
1212
_TtBp ---> Builtin.RawPointer
1313
_TtBt ---> Builtin.SILToken
1414
_TtBv4Bi8_ ---> Builtin.Vec4xInt8
15-
_TtBv4Bf16_ ---> Builtin.Vec4xFloat16
15+
_TtBv4Bf16_ ---> Builtin.Vec4xFPIEEE16
1616
_TtBv4Bp ---> Builtin.Vec4xRawPointer
17+
$sBi8_Bv4_ ---> Builtin.Vec4xInt8
18+
$sBf16_Bv4_ ---> Builtin.Vec4xFPIEEE16
19+
$sBpBv4_ ---> Builtin.Vec4xRawPointer
1720
_TtSa ---> Swift.Array
1821
_TtSb ---> Swift.Bool
1922
_TtSc ---> Swift.UnicodeScalar

test/Demangle/Inputs/simplified-manglings.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ _TtBO ---> Builtin.UnknownObject
55
_TtBo ---> Builtin.NativeObject
66
_TtBp ---> Builtin.RawPointer
77
_TtBv4Bi8_ ---> Builtin.Vec4xInt8
8-
_TtBv4Bf16_ ---> Builtin.Vec4xFloat16
8+
_TtBv4Bf16_ ---> Builtin.Vec4xFPIEEE16
99
_TtBv4Bp ---> Builtin.Vec4xRawPointer
1010
_TtSa ---> Array
1111
_TtSb ---> Bool

0 commit comments

Comments
 (0)