erichkeane added inline comments.

================
Comment at: clang/test/SemaTemplate/constraints-instantiation.cpp:3-8
+// void PR46029::A<1>::f()
+// CHECK: define {{.*}} @_ZN7PR460291AILi1EE1fEv
+// void PR46029::A<2>::f()
+// CHECK: define {{.*}} @_ZN7PR460291AILi2EE1fEv
+// void PR46029::A<3>::f()
+// CHECK-NOT: define {{.*}} @_ZN7PR460291AILi3EE1fEv
----------------
royjacobson wrote:
> aaron.ballman wrote:
> > I think it might be better to test this via an `-ast-dump` test (which 
> > lives in the `AST` test directory) rather than emitting LLVM IR to 
> > determine whether something was instantiated or not.
> > 
> > Btw, when you convert the test to use `-ast-dump`, be sure to make use of 
> > regexes for things like line, column numbers, pointer values, etc so that 
> > the test is easier to edit without breaking.
> I tried to look now into doing it in the ast-dump. It seems that we create a 
> new `ClassTemplateSpecializationDecl` in SemaTemplate:9663 
> (`ActOnExplicitInstantiation`) that is copied from the parent 
> `ClassTemplateDecl` along with all its members and `CXXMethodDecl`s. That 
> means that the member functions with the unsatisfied constraints still appear 
> in the AST.
> 
> Do you think I should add the constraints checks into the creation of 
> `ClassTemplateSpecializationDecl` instead, so we don't create unnecessary 
> `CXXMethodDecl`?
So one of the problems with that is the delayed-concepts thing I'm working on.  
The idea is that we shouldn't be instantiating or checking until the last 
moment, so unless I am misunderstanding what you mean, I would think not. 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D120255

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

Reply via email to