[all-commits] [llvm/llvm-project] d0a6de: [clang] Instantiate concepts with sugared template...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Tue Oct 25 18:25:27 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d0a6de59c78010118fea811514e03ed9f400215a
      https://github.com/llvm/llvm-project/commit/d0a6de59c78010118fea811514e03ed9f400215a
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/test/AST/ast-dump-concepts.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/compound-requirement.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/simple-requirement.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/type-requirement.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.normal/p1.cpp
    M clang/test/CXX/temp/temp.param/p10-2a.cpp
    M clang/test/SemaTemplate/cxx2a-constraint-caching.cpp
    M clang/test/SemaTemplate/instantiate-requires-expr.cpp
    M clang/test/SemaTemplate/pr52970.cpp

  Log Message:
  -----------
  [clang] Instantiate concepts with sugared template arguments

Since we don't unique specializations for concepts, we can just instantiate
them with the sugared template arguments, at negligible cost.

If we don't track their specializations, we can't resugar them later
anyway, and that would be more expensive than just instantiating them
sugared in the first place since it would require an additional pass.

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

Differential Revision: https://reviews.llvm.org/D136566




More information about the All-commits mailing list