Skip to content

Commit ee1aa04

Browse files
committed
Mangling: don’t use llvm_unreachable in Remangler because we don’t have this if the Remangler linked into the swift runtime library
1 parent e6f2e7b commit ee1aa04

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

lib/Basic/Demangler.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@
2727
using namespace swift;
2828
using swift::Demangle::FunctionSigSpecializationParamKind;
2929

30+
[[noreturn]]
31+
static void demangler_unreachable(const char *Message) {
32+
fprintf(stderr, "fatal error: %s\n", Message);
33+
std::abort();
34+
}
35+
3036
namespace {
3137

3238
static bool isDeclName(Node::Kind kind) {
@@ -1657,7 +1663,7 @@ NodePointer Demangler::demangleGenericRequirement() {
16571663
return nullptr;
16581664
name = "m";
16591665
} else {
1660-
llvm_unreachable("Unknown layout constraint");
1666+
demangler_unreachable("Unknown layout constraint");
16611667
}
16621668

16631669
auto NameNode = NodeFactory::create(Node::Kind::Identifier, name);
@@ -1671,7 +1677,7 @@ NodePointer Demangler::demangleGenericRequirement() {
16711677
}
16721678
}
16731679

1674-
llvm_unreachable("Unhandled TypeKind in switch.");
1680+
demangler_unreachable("Unhandled TypeKind in switch.");
16751681
}
16761682

16771683
NodePointer Demangler::demangleGenericType() {

0 commit comments

Comments
 (0)