[Clang][Sema] Fix comparison of constraint expressions
authorAlexander Shaposhnikov <ashaposhnikov@google.com>
Tue, 9 May 2023 18:14:39 +0000 (18:14 +0000)
committerAlexander Shaposhnikov <ashaposhnikov@google.com>
Tue, 9 May 2023 18:14:39 +0000 (18:14 +0000)
commit6db007a0654ed7a6ed5c3aa3b61a937c19a6bc6b
tree3384f767e0cbb5872c0ba83c5cccfe42fc411c4e
parente305dcc6fdc7e0efc0de4091a49386923e3845b4
[Clang][Sema] Fix comparison of constraint expressions

This diff switches the approach to comparison of constraint expressions
to the new one based on template args substitution.
It continues the effort to fix our handling of out-of-line definitions
of constrained templates.
This is a recommit of 3a54022934.

Differential revision: https://reviews.llvm.org/D146178
clang/include/clang/AST/DeclTemplate.h
clang/include/clang/Sema/Template.h
clang/lib/Sema/SemaConcept.cpp
clang/lib/Sema/SemaOverload.cpp
clang/lib/Sema/SemaTemplateDeduction.cpp
clang/lib/Sema/SemaTemplateInstantiate.cpp
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
clang/test/SemaTemplate/concepts-friends.cpp
clang/test/SemaTemplate/concepts-out-of-line-def.cpp
clang/test/SemaTemplate/concepts.cpp