Skip to content

Commit 7e34f50

Browse files
authored
Merge pull request #6960 from eeckstein/mangling-fix
2 parents 6d94756 + cdf2c1e commit 7e34f50

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

lib/AST/ASTMangler.cpp

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,23 +39,21 @@ using namespace swift;
3939
using namespace swift::NewMangling;
4040

4141
std::string NewMangling::mangleTypeForDebugger(Type Ty, const DeclContext *DC) {
42-
if (useNewMangling()) {
43-
ASTMangler NewMangler(/* DWARF */ true);
44-
return NewMangler.mangleTypeForDebugger(Ty, DC);
45-
}
4642
Mangle::Mangler OldMangler(/* DWARF */ true);
4743
OldMangler.mangleTypeForDebugger(Ty, DC);
48-
return OldMangler.finalize();
44+
std::string Old = OldMangler.finalize();
45+
ASTMangler NewMangler(/* DWARF */ true);
46+
std::string New = NewMangler.mangleTypeForDebugger(Ty, DC);
47+
return selectMangling(Old, New);
4948
}
5049

5150
std::string NewMangling::mangleTypeAsUSR(Type Ty) {
52-
if (useNewMangling()) {
53-
ASTMangler NewMangler;
54-
return NewMangler.mangleTypeAsUSR(Ty);
55-
}
5651
Mangle::Mangler OldMangler;
5752
OldMangler.mangleType(Ty, /*uncurry*/ 0);
58-
return OldMangler.finalize();
53+
std::string Old = OldMangler.finalize();
54+
ASTMangler NewMangler;
55+
std::string New = NewMangler.mangleTypeAsUSR(Ty);
56+
return selectMangling(Old, New);
5957
}
6058

6159

@@ -593,8 +591,6 @@ void ASTMangler::appendType(Type type) {
593591
auto GTPT = DC->mapTypeOutOfContext(archetype)
594592
->castTo<GenericTypeParamType>();
595593

596-
Buffer << 'q' << Index(GTPT->getIndex());
597-
598594
// The DWARF output created by Swift is intentionally flat,
599595
// therefore archetypes are emitted with their DeclContext if
600596
// they appear at the top level of a type.

0 commit comments

Comments
 (0)