Matheus Izvekov
c9e46219f3
[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, #libc, ldionne
Differential Revision: https://reviews.llvm.org/D110216
2021-11-15 23:07:45 +01:00
..
2021-10-05 08:04:14 -04:00
2021-11-10 17:17:00 +01:00
2021-08-11 02:48:53 +00:00
2021-11-15 23:07:45 +01:00
2021-08-16 18:34:18 -07:00
2021-11-02 14:37:45 +01:00
2021-11-15 23:07:45 +01:00
2021-10-30 19:00:19 -07:00
2021-10-30 13:12:12 +02:00
2021-11-08 18:50:54 +00:00
2021-08-12 21:30:59 -04:00
2021-10-25 09:38:50 -07:00
2021-08-12 21:30:59 -04:00
2021-11-12 21:11:11 +01:00
2021-09-20 20:06:03 -04:00
2020-03-02 22:45:28 +01:00
2021-11-09 18:35:26 +01:00
2019-08-05 08:05:16 +00:00
2021-11-12 21:11:11 +01:00
2021-09-20 20:06:03 -04:00
2021-06-10 14:51:08 +02:00
2021-02-05 11:27:30 -05:00
2021-10-17 13:50:29 -07:00
2020-02-27 13:49:40 -08:00
2021-11-12 11:05:58 +01:00
2021-01-27 11:21:01 +00:00
2021-10-14 13:43:53 -07:00
2021-11-09 22:17:47 +01:00
2021-10-21 12:08:06 -07:00
2020-08-06 12:25:19 -04:00
2021-11-14 20:45:16 -08:00
2021-11-11 21:59:27 -08:00
2021-11-07 09:53:14 -08:00
2021-07-28 03:09:31 +02:00
2021-06-09 12:27:10 +02:00
2021-11-10 20:59:35 +01:00
2021-07-09 11:50:10 -07:00
2021-07-28 23:27:43 +02:00
2021-10-17 13:50:29 -07:00
2020-03-11 13:53:12 -07:00
2020-07-10 15:10:24 -04:00
2019-08-13 22:01:39 +00:00
2019-10-03 11:22:48 +00:00
2021-09-28 06:41:03 -07:00
2021-11-05 08:48:41 -05:00
2021-10-05 08:04:14 -04:00
2020-11-09 22:10:27 -08:00
2021-04-27 22:26:10 -04:00
2021-09-28 06:41:03 -07:00
2021-11-07 09:53:14 -08:00
2021-09-02 15:04:34 -07:00
2021-09-06 18:00:58 +08:00
2021-01-20 15:55:35 +01:00
2021-11-09 07:34:18 -05:00
2020-07-14 08:59:57 -07:00
2019-07-17 18:03:39 +00:00
2021-10-12 09:19:49 -07:00
2021-09-06 18:00:58 +08:00
2021-11-14 09:32:40 -08:00
2020-04-06 10:48:25 +02:00
2020-07-27 15:13:03 -04:00
2021-10-30 19:00:19 -07:00
2019-07-16 04:46:31 +00:00
2021-10-05 08:04:14 -04:00
2021-10-27 08:57:05 -04:00
2021-10-28 08:26:43 -07:00
2021-11-14 20:45:16 -08:00
2021-11-09 07:34:18 -05:00
2021-09-02 15:04:34 -07:00
2021-09-02 15:04:34 -07:00
2021-10-05 08:04:14 -04:00
2021-11-15 23:07:45 +01:00
2021-10-29 13:15:53 -07:00
2021-11-04 13:59:18 -07:00
2021-11-07 09:53:14 -08:00
2019-10-03 11:22:48 +00:00