[Clang][Sema] Fix comparison of constraint expressions
authorAlexander Shaposhnikov <ashaposhnikov@google.com>
Thu, 27 Apr 2023 21:33:32 +0000 (21:33 +0000)
committerAlexander Shaposhnikov <ashaposhnikov@google.com>
Thu, 27 Apr 2023 21:33:32 +0000 (21:33 +0000)
commite3b1083e00e62f5d157d15cb8c63a1c3dfdf12e2
treee566ecf7dc356ec7bc9ba78624a7e99f2588bc62
parenta68039c51e6123bea4a019c02b72297e0de58529
[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 60bee9ff5445.

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