Iain Sandoe
97af17c5ca
re-land [C++20][Modules] Update handling of implicit inlines [P1779R3]
...
re-land fixes an unwanted interaction with module-map modules, seen in
Greendragon testing.
This provides updates to
[class.mfct]:
Pre C++20 [class.mfct]p2:
A member function may be defined (8.4) in its class definition, in
which case it is an inline member function (7.1.2)
Post C++20 [class.mfct]p1:
If a member function is attached to the global module and is defined
in its class definition, it is inline.
and
[class.friend]:
Pre-C++20 [class.friend]p5
A function can be defined in a friend declaration of a
class . . . . Such a function is implicitly inline.
Post C++20 [class.friend]p7
Such a function is implicitly an inline function if it is attached
to the global module.
We add the output of implicit-inline to the TextNodeDumper, and amend
a couple of existing tests to account for this, plus add tests for the
cases covered above.
Differential Revision: https://reviews.llvm.org/D129045
2022-07-21 09:17:01 +01:00
..
2022-07-05 11:30:29 -05:00
2021-11-04 11:53:47 +08:00
2021-10-05 08:04:14 -04:00
2020-06-21 13:59:11 +01:00
2021-03-23 13:15:19 -04:00
2021-06-30 09:58:06 -04:00
2020-06-21 13:59:11 +01:00
2022-07-14 21:17:48 -07:00
2021-10-21 11:34:43 -07:00
2021-10-21 11:34:43 -07:00
2022-07-14 21:17:48 -07:00
2020-07-08 16:39:11 +01:00
2022-07-14 21:17:48 -07:00
2020-07-08 16:39:11 +01:00
2020-06-21 13:59:11 +01:00
2021-12-31 01:30:39 +01:00
2021-10-28 00:25:02 +02:00
2021-10-28 00:25:02 +02:00
2021-10-28 00:25:02 +02:00
2021-10-21 11:34:43 -07:00
2022-02-10 20:39:20 -06:00
2022-05-13 13:48:46 +02:00
2020-08-12 09:20:23 +02:00
2022-07-21 09:17:01 +01:00
2021-05-20 17:04:29 -04:00
2022-02-10 20:39:20 -06:00
2022-02-24 15:30:30 -05:00
2022-02-10 20:39:20 -06:00
2020-06-21 13:59:11 +01:00
2022-02-24 15:30:30 -05:00
2022-07-14 21:17:48 -07:00
2022-02-09 09:11:49 -05:00
2022-04-04 18:48:30 -07:00
2021-06-10 14:51:08 +02:00
2022-02-10 20:39:20 -06:00
2020-04-27 10:25:36 +02:00
2022-02-10 20:39:20 -06:00
2022-07-14 21:17:48 -07:00
2022-02-24 15:30:13 -05:00
2021-10-21 11:34:43 -07:00
2022-07-14 21:17:48 -07:00
2022-02-10 20:39:20 -06:00
2022-07-03 17:06:26 +07:00
2022-02-10 20:39:20 -06:00
2022-03-21 13:39:44 -04:00
2022-07-14 21:17:48 -07:00
2022-02-10 20:39:20 -06:00
2021-06-10 10:18:52 +01:00
2020-05-29 09:54:28 +02:00
2022-05-25 15:14:35 +02:00
2022-01-10 10:38:27 +01:00
2020-07-02 14:13:35 +01:00
2022-07-21 09:17:01 +01:00
2022-02-10 20:39:20 -06:00
2021-01-22 11:43:58 -05:00
2020-06-21 13:59:11 +01:00
2022-02-10 20:39:20 -06:00
2022-02-10 20:39:20 -06:00
2020-08-07 09:58:23 -04:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2020-06-12 15:21:38 +02:00
2022-02-09 09:11:49 -05:00
2022-03-21 13:21:25 +02:00
2020-06-23 14:43:04 -07:00
2020-09-16 13:37:10 -05:00
2022-07-14 21:17:48 -07:00
2021-10-27 21:04:32 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2021-09-21 13:20:39 -07:00
2021-09-21 13:20:39 -07:00
2021-02-22 14:16:43 -08:00
2021-02-22 14:16:43 -08:00
2022-02-09 09:11:49 -05:00
2021-02-22 14:16:43 -08:00
2021-02-22 14:16:43 -08:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2021-02-22 14:16:43 -08:00
2021-02-22 14:16:43 -08:00
2020-03-12 14:48:57 +03:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2021-02-22 14:16:43 -08:00
2022-02-09 09:11:49 -05:00
2021-02-22 14:16:43 -08:00
2021-02-22 14:16:43 -08:00
2021-02-22 14:16:43 -08:00
2021-02-22 14:16:43 -08:00
2021-02-22 14:16:43 -08:00
2022-02-09 09:11:49 -05:00
2021-02-22 14:16:43 -08:00
2021-09-21 13:20:39 -07:00
2021-09-21 13:20:39 -07:00
2021-02-22 14:16:43 -08:00
2021-02-22 14:16:43 -08:00
2022-02-09 09:11:49 -05:00
2021-02-22 14:16:43 -08:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2021-02-22 14:16:43 -08:00
2021-02-22 14:16:43 -08:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2021-09-21 13:20:39 -07:00
2021-09-21 13:20:39 -07:00
2021-02-22 14:16:43 -08:00
2021-02-22 14:16:43 -08:00
2022-02-09 09:11:49 -05:00
2022-07-14 21:17:48 -07:00
2020-06-19 13:40:20 +01:00
2021-10-05 07:59:32 -05:00
2022-07-03 17:06:26 +07:00
2022-02-10 20:39:20 -06:00
2020-06-19 13:40:20 +01:00
2022-07-14 21:17:48 -07:00
2021-10-21 11:34:43 -07:00
2021-10-21 11:34:43 -07:00
2020-10-12 11:24:45 +02:00
2022-07-14 21:17:48 -07:00
2020-10-27 09:42:19 +01:00
2020-06-19 13:40:20 +01:00
2022-02-24 15:30:13 -05:00
2022-07-14 21:17:48 -07:00
2022-02-24 15:30:13 -05:00
2022-02-09 09:11:49 -05:00
2022-07-14 21:17:48 -07:00
2022-02-09 09:11:49 -05:00
2022-07-14 21:17:48 -07:00
2022-06-21 18:35:17 +02:00
2021-11-14 21:09:11 -08:00
2022-07-14 21:17:48 -07:00
2020-06-19 13:40:20 +01:00
2022-02-10 20:39:20 -06:00
2020-06-19 08:45:46 +02:00
2022-02-10 20:39:20 -06:00
2021-08-03 11:52:52 +02:00
2021-06-08 11:11:46 -07:00
2022-07-14 21:17:48 -07:00
2022-07-14 21:17:48 -07:00
2020-06-19 13:40:20 +01:00
2020-06-19 13:40:20 +01:00
2020-06-19 13:40:20 +01:00
2021-02-03 11:41:38 -08:00
2022-02-09 09:11:49 -05:00
2022-02-09 09:11:49 -05:00
2022-07-03 17:06:26 +07:00
2021-10-15 16:23:04 +00:00
2021-01-08 11:37:27 +00:00
2022-02-09 09:11:49 -05:00
2021-08-13 13:20:11 +03:00
2022-03-16 11:10:32 +01:00
2020-07-16 12:50:25 +02:00
2021-10-21 11:34:43 -07:00
2022-06-15 09:47:28 +02:00
2021-11-19 13:00:26 -08:00
2020-09-16 17:54:57 +00:00
2020-09-15 20:15:34 +00:00
2020-09-15 20:15:34 +00:00
2020-09-24 15:17:35 +00:00
2020-09-25 22:33:53 +00:00
2022-02-09 09:11:49 -05:00
2022-03-14 09:24:19 -04:00
2020-06-21 13:59:11 +01:00
2020-06-21 13:59:11 +01:00
2020-10-30 07:30:06 -07:00
2020-09-26 17:59:39 +07:00
2022-03-03 06:33:49 -08:00
2022-07-14 21:17:48 -07:00
2022-07-14 21:17:48 -07:00
2022-05-17 08:13:37 -04:00
2022-05-17 08:13:37 -04:00
2020-12-07 11:29:57 -08:00
2020-08-24 09:58:37 -04:00
2022-02-09 09:11:49 -05:00
2020-06-21 13:59:11 +01:00
2020-06-21 13:59:11 +01:00
2022-07-14 21:17:48 -07:00
2021-10-10 07:46:17 +05:30
2022-02-09 09:11:49 -05:00
2022-02-22 16:27:32 +01:00
2022-06-15 11:58:26 +02:00
2022-01-10 10:38:27 +01:00
2022-02-10 20:39:20 -06:00
2022-02-10 20:39:20 -06:00
2020-06-21 13:59:11 +01:00
2020-06-21 13:59:11 +01:00
2022-02-09 09:11:49 -05:00
2022-06-19 00:30:37 +03:00
2020-07-06 22:03:08 +01:00
2021-10-21 11:34:43 -07:00
2022-02-09 09:11:49 -05:00
2022-03-18 12:20:41 +00:00
2022-03-18 12:20:41 +00:00
2020-06-21 13:59:11 +01:00
2020-07-16 12:07:18 -07:00
2022-07-14 21:17:48 -07:00
2020-04-27 16:01:07 +01:00
2020-06-21 13:59:11 +01:00
2020-06-21 13:59:11 +01:00