Re-apply "Deferred Concept Instantiation Implementation""
authorErich Keane <erich.keane@intel.com>
Thu, 30 Jun 2022 19:03:42 +0000 (12:03 -0700)
committerErich Keane <erich.keane@intel.com>
Fri, 1 Jul 2022 13:51:38 +0000 (06:51 -0700)
commitbefa8cf087dbb8159a4d9dc8fa4d6748d6d5049a
treee907263d09bbddfbb5b769bd34e24c14c03f02f9
parent696bca9bb25a036edd88d4b6cfe21740f731829d
Re-apply "Deferred Concept Instantiation Implementation""

This reverts commit d4d47e574ecae562ab32f8ac7fa3f4d424bb6574.

This fixes the lldb crash that was observed by ensuring that our
friend-'template contains reference to' TreeTransform properly handles a
TemplateDecl.
26 files changed:
clang/docs/ReleaseNotes.rst
clang/include/clang/AST/Decl.h
clang/include/clang/AST/DeclBase.h
clang/include/clang/Sema/Sema.h
clang/include/clang/Sema/Template.h
clang/lib/AST/ASTImporter.cpp
clang/lib/AST/Decl.cpp
clang/lib/AST/DeclBase.cpp
clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
clang/lib/Sema/SemaConcept.cpp
clang/lib/Sema/SemaOverload.cpp
clang/lib/Sema/SemaTemplate.cpp
clang/lib/Sema/SemaTemplateDeduction.cpp
clang/lib/Sema/SemaTemplateInstantiate.cpp
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
clang/lib/Sema/TreeTransform.h
clang/lib/Serialization/ASTReaderDecl.cpp
clang/lib/Serialization/ASTWriterDecl.cpp
clang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp
clang/test/CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp
clang/test/CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp
clang/test/SemaTemplate/concepts-friends.cpp [new file with mode: 0644]
clang/test/SemaTemplate/concepts.cpp
clang/test/SemaTemplate/deferred-concept-inst.cpp [new file with mode: 0644]
clang/test/SemaTemplate/instantiate-requires-clause.cpp
clang/test/SemaTemplate/trailing-return-short-circuit.cpp [new file with mode: 0644]