[PATCH] D135088: [Clang] make canonical AutoType constraints-free

Matheus Izvekov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 3 17:50:24 PDT 2022


mizvekov added inline comments.


================
Comment at: clang/lib/AST/ASTContext.cpp:5745-5746
+      if (TypeConstraintConcept) {
+        Canon = getAutoTypeInternal(QualType(), Keyword, false, IsPack, nullptr,
+                                    {}, true);
         // Find the insert position again.
----------------
ychen wrote:
> ychen wrote:
> > ychen wrote:
> > > mizvekov wrote:
> > > > Also adds back the `isDependent` flag. Any reason to have removed it?
> > > I was thinking the replacement type is null, so there is no need to depend on instantiation?
> > > I was thinking the replacement type is null, so there is no need to depend on instantiation?
> > 
> > 
> Sorry I was not precise. I meant the constrained non-canonical AutoType would always be used for template instantiation. But I think it could happen that the user may query dependencies of the canonical AutoType of a constrained AutoType, maybe it just doesn't show up in the codebase yet. I'll put it back.
FYI my memory is fuzzy right now, but we do have the distinction between undeduced but non-dependent, and undeduced but dependent. It's suspicious that no tests fail though. It could be either it doesn't matter for the canonical type, or that the test would be a bit convoluted.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D135088



More information about the cfe-commits mailing list