diff --git a/lib/Demangling/Demangler.cpp b/lib/Demangling/Demangler.cpp index 548cda721bf76..642df889d517b 100644 --- a/lib/Demangling/Demangler.cpp +++ b/lib/Demangling/Demangler.cpp @@ -1263,7 +1263,8 @@ NodePointer Demangler::demangleThunkOrSpecialization() { : Node::Kind::KeyPathSetterThunkHelper; auto type = popNode(); auto sigOrDecl = popNode(); - if (sigOrDecl->getKind() == Node::Kind::DependentGenericSignature) { + if (sigOrDecl && + sigOrDecl->getKind() == Node::Kind::DependentGenericSignature) { auto decl = popNode(); return createWithChildren(nodeKind, decl, sigOrDecl, type); } else { diff --git a/test/Demangle/Inputs/manglings.txt b/test/Demangle/Inputs/manglings.txt index 404bc0afc4256..438d750ca2558 100644 --- a/test/Demangle/Inputs/manglings.txt +++ b/test/Demangle/Inputs/manglings.txt @@ -253,4 +253,5 @@ _T010Foundation11MeasurementV12SimulatorKitSo9UnitAngleCRszlE11OrientationO2eeoi _T04main1_yyF ---> main._() -> () _T04test6testitSiyt_tF ---> test.testit(()) -> Swift.Int _T0Rml ---> _T0Rml +_T0Tk ---> _T0Tk