[clang] Changes to produce sugared converted template arguments
authorMatheus Izvekov <mizvekov@gmail.com>
Mon, 5 Sep 2022 19:57:37 +0000 (21:57 +0200)
committerMatheus Izvekov <mizvekov@gmail.com>
Wed, 26 Oct 2022 00:15:10 +0000 (02:15 +0200)
commit11ce78940b4c6f44ae6ee5a6611d6c9b1bade1c2
tree5e4b703bf9192b3d6b73d96a2684a53c0a1f6799
parent8acddef90d77ad530ae657cb68720a2c0b053e77
[clang] Changes to produce sugared converted template arguments

Makes CheckTemplateArgumentList and the template deduction functions
produce a sugared converted argument list in addition to the canonical one.

This is mostly NFC except that we hook this up to a few diagnostics in
SemaOverload.

The infrastructure here will be used in subsequent patches
where we perform a finalized sugared substitution for entities
which we do not unique per specializations on canonical arguments,
and later on will be used for template specialization resugaring.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Differential Revision: https://reviews.llvm.org/D133874
clang/include/clang/Sema/Sema.h
clang/include/clang/Sema/TemplateDeduction.h
clang/lib/Sema/SemaLookup.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/test/SemaCXX/ppc-pair-mma-types.cpp
clang/test/SemaTemplate/deduction.cpp