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-06-01 14:45:25 -04:00
2021-01-21 20:45:54 -08:00
2019-08-23 22:51:23 +00:00
2018-08-03 01:21:16 +00:00
2019-11-18 11:09:23 +01:00
2019-05-10 17:57:22 +00:00
2018-08-23 09:48:11 +00:00
2019-03-13 16:16:54 +00:00
2018-11-12 02:44:33 +00:00
2021-11-09 18:35:26 +01:00
2019-04-08 19:52:45 +00:00
2019-08-13 18:11:44 +00:00
2019-12-21 14:52:21 +01:00
2019-04-08 19:52:45 +00:00
2019-12-21 14:52:21 +01:00
2018-07-30 15:19:05 +00:00
2018-10-22 08:47:31 +00:00
2018-05-17 09:21:07 +00:00
2018-06-13 12:37:08 +00:00
2018-11-20 22:06:54 +00:00
2018-11-20 22:06:54 +00:00
2019-04-04 11:34:18 +00:00
2018-06-21 12:39:24 +00:00
2018-11-01 15:54:18 +00:00
2018-11-01 15:54:18 +00:00
2019-07-13 06:27:35 +00:00
2019-07-18 07:17:49 +00:00
2019-07-18 07:17:49 +00:00
2018-11-20 22:06:54 +00:00
2020-06-25 13:58:27 -04:00
2020-06-25 13:58:27 -04:00
2018-09-19 09:34:55 +00:00
2021-05-27 08:57:47 -04:00
2018-11-20 22:06:54 +00:00
2019-07-18 16:24:09 +00:00
2019-06-04 09:26:08 +00:00
2020-11-23 11:08:28 +01:00
2018-10-15 12:37:23 +00:00
2018-11-07 10:02:31 +00:00
2018-08-03 01:21:16 +00:00
2021-11-04 11:53:47 +08:00
2019-09-13 22:12:27 +00:00
2018-12-19 13:44:41 +00:00
2020-09-22 02:32:09 -04:00
2020-05-02 22:18:36 +02:00
2020-05-02 22:18:31 +02:00
2021-03-12 20:11:26 +00:00
2020-08-05 13:54:37 +01:00
2020-07-08 13:10:16 -07:00
2020-05-11 08:46:18 +02:00
2020-10-16 09:51:13 +02:00
2019-06-11 14:14:24 +00:00
2019-06-11 14:14:24 +00:00
2021-02-08 13:14:43 +01:00
2019-05-29 10:11:14 +00:00
2018-08-03 05:03:22 +00:00
2020-05-21 09:47:36 +02:00
2018-10-04 11:03:55 +00:00
2019-05-10 17:57:22 +00:00
2019-05-10 17:57:22 +00:00
2019-12-03 15:44:01 -08:00
2019-02-18 11:30:43 +00:00
2018-09-23 08:23:48 +00:00
2019-10-01 14:08:51 +00:00
2018-12-07 20:29:54 +00:00
2019-03-07 10:13:50 +00:00
2019-03-07 10:13:50 +00:00
2019-08-13 13:38:15 +00:00
2019-04-29 22:57:15 +00:00
2019-02-27 01:37:43 +00:00
2020-12-07 17:19:20 -05:00
2018-08-03 03:03:20 +00:00
2021-03-12 20:11:26 +00:00
2021-02-16 09:45:07 -08:00
2021-02-08 09:42:44 +01:00
2020-12-12 15:09:17 -05:00
2020-03-31 13:50:12 -07:00
2019-12-03 21:21:27 +01:00
2021-07-24 07:55:10 -04:00
2019-11-15 10:40:38 +01:00
2019-05-07 14:40:37 +00:00
2021-10-21 11:34:43 -07:00
2021-10-21 11:34:43 -07:00
2021-11-15 23:07:45 +01:00
2019-01-24 00:11:35 +00:00
2018-08-03 05:38:29 +00:00
2019-08-27 22:15:32 +00:00
2018-10-24 08:29:24 +00:00
2021-03-15 17:33:02 -04:00
2019-02-26 14:23:12 +00:00
2019-11-09 17:54:58 +01:00