[PATCH] D49223: [AST] Check described template at structural equivalence check.

Aleksei Sidorin via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 3 15:17:23 PDT 2018


a_sidorin added inline comments.


================
Comment at: lib/AST/ASTStructuralEquivalence.cpp:958
 
+  if (D1->isTemplated() != D2->isTemplated())
+    return false;
----------------
balazske wrote:
> a_sidorin wrote:
> > I think we can move the changes for both RecordDecl and FunctionDecl into `Finish()` and use `Decl::getDescribedTemplate()`. This will both simplify the patch and give us the support for templated VarDecls and TypeAliasDecls for free. What do you think?
> Yes it can be good to check with `getDescribedClassTemplate` in `Finish`. (Similarly, there can be more things that are common to check with all `Decl` or `NamedDecl` objects in `Finish`, specifically the name is checked. Or in some cases the name does not matter, but in others yes?)
I think that name always matters for structure equivalence checking. I cannot remember any case where it was false during development of our PoC.


Repository:
  rC Clang

https://reviews.llvm.org/D49223





More information about the cfe-commits mailing list