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

Reply via email to