[PATCH] D133262: [clang] Represent __make_integer_seq as alias template in the AST

Matheus Izvekov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Sep 3 14:10:40 PDT 2022


mizvekov created this revision.
Herald added a subscriber: jeroen.dobbelaere.
Herald added a project: All.
mizvekov requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

We change the template specialization of __make_integer_seq to
be an alias to a synthesized template specialization type of the
underlying template, making the resulting type correctly represent
the template arguments used to specialize the underlying template.

When performing member access on the resulting type, it's now
possible to map from a Subst* node to the template argument
as-written used in a regular fashion, without special casing.

Depends on D133261 <https://reviews.llvm.org/D133261>

Signed-off-by: Matheus Izvekov <mizvekov at gmail.com>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D133262

Files:
  clang/include/clang/AST/ASTContext.h
  clang/include/clang/AST/DeclTemplate.h
  clang/lib/AST/ASTContext.cpp
  clang/lib/AST/DeclTemplate.cpp
  clang/lib/CodeGen/CGDebugInfo.cpp
  clang/lib/Sema/SemaTemplate.cpp
  clang/test/SemaTemplate/make_integer_seq.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D133262.457815.patch
Type: text/x-patch
Size: 11788 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220903/c815906d/attachment-0001.bin>


More information about the cfe-commits mailing list