Skip to content

Commit e4855e7

Browse files
committed
Dump additional information on demangler assertion failure.
This should help to debug things when things go wrong. rdar://89139049
1 parent 8f74eb0 commit e4855e7

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

lib/Demangling/Demangler.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,12 @@ static bool isRequirement(Node::Kind kind) {
9393

9494
void swift::Demangle::failAssert(const char *file, unsigned line,
9595
NodePointer node, const char *expr) {
96-
fprintf(stderr, "%s:%u: assertion failed for Node %p: %s", file, line, node,
96+
fprintf(stderr, "%s:%u: assertion failed for Node %p: %s\n", file, line, node,
9797
expr);
98+
if (node) {
99+
fprintf(stderr, "%s:%u: Node %p is:\n", file, line, node);
100+
node->dump();
101+
}
98102
abort();
99103
}
100104

0 commit comments

Comments
 (0)