erichkeane added inline comments.

================
Comment at: clang/lib/Sema/SemaTemplate.cpp:10112
+      Specialization->addAttr(PrevDecl->getAttr<MSInheritanceAttr>());
+      Consumer.AssignInheritanceModel(Specialization);
+    }
----------------
tahonermann wrote:
> I am concerned that moving the call to `Consumer.AssignInheritanceModel()` to 
> immediately after the creation of the node, but before it is populated might 
> be problematic. Previously, this call was still made before the node was 
> completely constructed (e.g., before `setTemplateSpecializationKind()` is 
> called for it). It is difficult to tell if any consumers might be dependent 
> on more of the definition being present. 
SO I think we still need to do this off of the definition, right?  Else if 
`PrevDecl` ends up being a declaration (followed later by a definition that has 
the attribute), we'll end up missing it?  Typically attributes are 'added' by 
later decls, so only the 'latest one' (though attributes can't be added after 
definition IIRC) has 'them all'.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D158869/new/

https://reviews.llvm.org/D158869

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to