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
2021-06-30 09:58:06 -04: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
2022-07-14 21:17:48 -07: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
2022-07-21 09:17:01 +01: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
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
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
2022-05-25 15:14:35 +02:00
2022-01-10 10:38:27 +01:00
2022-07-21 09:17:01 +01:00
2022-02-10 20:39:20 -06:00
2022-02-10 20:39:20 -06:00
2022-02-10 20:39:20 -06: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
2022-02-09 09:11:49 -05:00
2022-03-21 13:21:25 +02: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
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
2021-09-21 13:20:39 -07:00
2021-09-21 13:20:39 -07: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
2022-02-09 09:11:49 -05:00
2022-07-14 21:17:48 -07: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
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
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
2022-02-10 20:39:20 -06: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
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
2022-02-09 09:11:49 -05:00
2021-08-13 13:20:11 +03:00
2022-03-16 11:10:32 +01: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
2022-02-09 09:11:49 -05:00
2022-03-14 09:24:19 -04: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
2022-02-09 09:11:49 -05: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
2022-02-09 09:11:49 -05:00
2022-06-19 00:30:37 +03: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
2022-07-14 21:17:48 -07:00