[Concepts] Constrained partial specializations and function overloads.
authorSaar Raz <saar@raz.email>
Mon, 23 Dec 2019 06:37:35 +0000 (08:37 +0200)
committerSaar Raz <saar@raz.email>
Mon, 23 Dec 2019 06:37:35 +0000 (08:37 +0200)
commitdf061c3e2b97974f9e2d72a023eb1c5b987010bc
tree9e429be93cdfbb8dd82b472361d92083f3f70d5a
parent1562511275fe1f002458194c085216cf9ae36d1f
[Concepts] Constrained partial specializations and function overloads.

Added support for constraint satisfaction checking and partial ordering of constraints in constrained partial specialization and function template overloads.
Re-commit after fixing another crash (added regression test).

Differential Revision: https://reviews.llvm.org/D41910
18 files changed:
clang/include/clang/AST/DeclTemplate.h [changed mode: 0644->0755]
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/include/clang/Sema/Sema.h [changed mode: 0644->0755]
clang/lib/AST/ASTImporter.cpp
clang/lib/AST/DeclTemplate.cpp [changed mode: 0644->0755]
clang/lib/Frontend/FrontendActions.cpp
clang/lib/Sema/SemaConcept.cpp [changed mode: 0644->0755]
clang/lib/Sema/SemaTemplate.cpp [changed mode: 0644->0755]
clang/lib/Sema/SemaTemplateDeduction.cpp
clang/lib/Sema/SemaTemplateInstantiate.cpp
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp [changed mode: 0644->0755]
clang/lib/Serialization/ASTReaderDecl.cpp
clang/lib/Serialization/ASTWriterDecl.cpp
clang/test/CXX/expr/expr.prim/expr.prim.id/p3.cpp
clang/test/CXX/temp/temp.constr/temp.constr.normal/p1.cpp [new file with mode: 0644]
clang/test/CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp [new file with mode: 0644]
clang/test/CXX/temp/temp.constr/temp.constr.order/function-templates.cpp [new file with mode: 0644]
clang/test/CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp [new file with mode: 0644]