Skip to content

Commit d9624ab

Browse files
committed
[embedded] Print function name + class name when missing loc in 'non-final generic fuctions' diagnostic
1 parent 906d261 commit d9624ab

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

lib/SILOptimizer/Transforms/VTableSpecializer.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,14 @@ bool VTableSpecializer::specializeVTables(SILModule &module) {
9898
ValueDecl *decl = entry.getMethod().getDecl();
9999
module.getASTContext().Diags.diagnose(
100100
decl->getLoc(), diag::non_final_generic_class_function);
101+
102+
if (decl->getLoc().isInvalid()) {
103+
auto demangledName = Demangle::demangleSymbolAsString(
104+
method->getName(),
105+
Demangle::DemangleOptions::SimplifiedUIDemangleOptions());
106+
llvm::errs() << "in function " << demangledName << "\n";
107+
llvm::errs() << "in class " << vtable->getClass()->getName() << "\n";
108+
}
101109
}
102110
}
103111

0 commit comments

Comments
 (0)