llvm-project/libcxx/test/std/utilities
Matheus Izvekov 4d8fff477e
[clang] retain type sugar in auto / template argument deduction
This implements the following changes:
* AutoType retains sugared deduced-as-type.
* Template argument deduction machinery analyses the sugared type all the way
down. It would previously lose the sugar on first recursion.
* Undeduced AutoType will be properly canonicalized, including the constraint
template arguments.
* Remove the decltype node created from the decltype(auto) deduction.

As a result, we start seeing sugared types in a lot more test cases,
including some which showed very unfriendly `type-parameter-*-*` types.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D110216
2021-11-13 03:35:22 +01:00
..
allocator.adaptor [libc++] P0433R2: add the remaining deduction guides. 2021-10-28 11:09:51 -07:00
any [clang] retain type sugar in auto / template argument deduction 2021-11-13 03:35:22 +01:00
charconv Revert "[libc++][libc++abi] Add tests for vendor-specific properties" 2021-09-30 11:03:59 -07:00
format [libc++] Fix lifetime issues of temporaries. 2021-11-09 19:01:22 +01:00
function.objects [libc++][CI] Add AIX pipeline config 2021-11-08 10:30:27 -05:00
intseq [libc++] Clarify the name of Lit features related to standard library selection 2021-09-28 16:15:25 -04:00
memory [libc++] Implement P2186R2 (Remove Garbage Collection) 2021-11-11 19:03:00 +01:00
meta [libc++][AIX] Alignment of bool on AIX is 1 2021-11-10 13:01:32 -05:00
optional [libc++] P0433R2: add the remaining deduction guides. 2021-10-28 11:09:51 -07:00
ratio [libc++] Remove workaround for .fail.cpp tests that don't have clang-verify markup 2020-04-15 10:53:37 -04:00
smartptr/unique.ptr [libc++] P0433R2: test that deduction guides are properly SFINAEd away. 2021-11-09 09:32:24 -08:00
template.bitset [libc++] Add an option to disable wide character support in libc++ 2021-10-12 06:08:23 -04:00
time [libc++] Implement file_clock::{to,from}_sys 2021-11-11 14:17:02 -05:00
tuple [libc++] Mark LWG3211 as complete: default constructor of tuple<> should be trivial 2021-10-29 12:08:51 -04:00
type.index [libcxx][modularisation] splits `<utility>` into self-contained headers 2021-06-25 00:29:01 +00:00
utilities.general Support tests in freestanding 2019-02-04 20:31:13 +00:00
utility [libc++] Fix incorrect main() signatures in the tests 2021-10-20 16:26:34 -04:00
utility.requirements [libc++] Remove useless nothing_to_do.pass.cpp tests 2020-04-03 13:48:34 -04:00
variant [libc++] Remove "// -*- C++ -*-" comments from all .cpp files. NFCI. 2021-10-01 12:06:59 -04:00