diff options
| author | Iain Sandoe <iain@sandoe.co.uk> | 2022-07-03 14:27:10 +0100 |
|---|---|---|
| committer | Iain Sandoe <iain@sandoe.co.uk> | 2022-07-21 09:17:01 +0100 |
| commit | 97af17c5cae64f5fd5e89806e8cf20f50fec30ec (patch) | |
| tree | 95fc32c7253562bc18c16485639dd42c5e3ce062 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp | |
| parent | 2ed7c3fd841db1ae2a1ae2c3df865b04a890bb0d (diff) | |
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
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp')
0 files changed, 0 insertions, 0 deletions
