mstorsjo added inline comments.

================
Comment at: lib/Sema/SemaTemplate.cpp:4811
+  TemplateParameterList *Params =
+      cast<TemplateDecl>(Template->getMostRecentDecl())
+          ->getTemplateParameters();
----------------
erichkeane wrote:
> mstorsjo wrote:
> > erichkeane wrote:
> > > mstorsjo wrote:
> > > > How does this work if there's another forward declaration missing the 
> > > > parameter later? Is the logic with "most recent" ok, or should it be 
> > > > "most qualified/complete" instead?
> > > I'm not sure the case you mean.  Any future declarations with fewer 
> > > parameters would be aspecialization and a different decl, right?
> > Sorry, I meant a declaration with fewer defaults. E.g. the original forward 
> > declaration without defaults again after the actual definition.
> > 
> > E.g. by adding
> > 
> > ```
> > namespace llvm {
> >   template<typename T > struct StringSet;
> > }
> > ```
> > before the last `namespace lld`.
> > 
> > 
> I think thats OK.  The code propagates those forward.  The problem here is 
> that it does NOT propagate them backwards.
Ok then, then I guess it sounds fine to me, although I'm very much not familiar 
with this code. So I'm not comfortable with giving it a formal approval.


https://reviews.llvm.org/D39127



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

Reply via email to