[all-commits] [llvm/llvm-project] 98191d: [CONCEPTS]Corrected comparison of constraints with...

Erich Keane via All-commits all-commits at lists.llvm.org
Wed Oct 18 09:10:45 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 98191d7c160cc982ac3f4db234da080e2bd8a192
      https://github.com/llvm/llvm-project/commit/98191d7c160cc982ac3f4db234da080e2bd8a192
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2023-10-18 (Wed, 18 Oct 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/Template.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp

  Log Message:
  -----------
  [CONCEPTS]Corrected comparison of constraints with out of line CTD (#69244)

Out of line class template declaration specializations aren't created at
the time they have their template arguments checked, so we previously
weren't doing any amount of work to substitute the constraints before
comparison. This resulted in the out of line definition's difference in
'depth' causing the constraints to compare differently.

This patch corrects that. Additionally, it handles ClassTemplateDecl
when collecting template arguments.

Fixes: #61763




More information about the All-commits mailing list