diff options
| author | Stefan Gränitz <stefan.graenitz@gmail.com> | 2021-03-19 14:46:05 +0100 |
|---|---|---|
| committer | Stefan Gränitz <stefan.graenitz@gmail.com> | 2021-03-22 17:47:33 +0100 |
| commit | 50e499a56d66d8041d39ef1f8047533d50c2d165 (patch) | |
| tree | c36dff40402a311ac6e21551a0f4656e05f55e96 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp | |
| parent | cbcc1c9f87080779bf138259a9177e8f2fe674c7 (diff) | |
[Orc] Fix copy elision warning in RPCUtils
The `callB()` template function always moved errors on return, because in the majority of cases its return type is an `Expected<T>` and the error must be moved into the implicit ctor.
For the special case of a `void` result, however, the `ResultTraits` class is specialized and the return type is a raw `Error`. Some build bots complain, that in favor of NRVO errors should not be moved in this case.
```
llvm/include/llvm/ExecutionEngine/Orc/Shared/RPCUtils.h:1513:27:
llvm/include/llvm/ExecutionEngine/Orc/Shared/RPCUtils.h:1519:27:
llvm/include/llvm/ExecutionEngine/Orc/Shared/RPCUtils.h:1526:29:
warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
```
The warning is reasonable from a type-system point of view. For performance it's entirely insignificant.
Differential Revision: https://reviews.llvm.org/D98947
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp')
0 files changed, 0 insertions, 0 deletions
