erichkeane added a comment. SO, the implementation would likely be (~2489): if (Class->isInterface() && (KnownBase->getAccessSpecifier() != TTK_public || !RD->isInterface() || !RD->isInterfaceLike()) { with "isInterfaceLike" testing what I outlined above. https://reviews.llvm.org/D37308