rjmccall added inline comments.
================ Comment at: lib/AST/ASTContext.cpp:9801 + RD->getTemplateSpecializationKind() == + TSK_ExplicitInstantiationDefinition; else ---------------- Does it matter if it's not this particular declaration that's the explicit instantiation? ================ Comment at: lib/AST/RecordLayoutBuilder.cpp:3069 const Decl *Result = Entry ? Entry.get(getExternalSource()) : computeKeyFunction(*this, RD); ---------------- Why not just change `computeKeyFunction` to decide that the class doesn't have a key function if it would be an inline definition? We can do the same updating we do with the ARM rule except just bailing out instead of scanning for another candidate. ================ Comment at: lib/CodeGen/CGVTables.cpp:889 + if (!llvm::GlobalValue::isDiscardableIfUnused(getVTableLinkage(theClass))) + getCXXABI().emitVTables(theClass); } ---------------- I feel like "don't emit the v-table for this" should be handled in the caller. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D54986/new/ https://reviews.llvm.org/D54986 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits