[llvm-dev] [cfe-dev] New warnings when building trunk with GCC 9

Richard Trieu via llvm-dev llvm-dev at lists.llvm.org
Tue Sep 18 16:07:44 PDT 2018


I'll look into the pessimizing move warning, then after that, the
deprecated copy warning.

On Sun, Sep 16, 2018 at 10:41 AM Richard Smith <richard at metafoo.co.uk>
wrote:

> Yes, we should produce this warning in C++11 mode too. (I could be
> misrecalling, but I think the rationale for the current behaviour is based
> on historical GCC behaviour.)
>
> On Sun, 16 Sep 2018, 10:04 David Blaikie via cfe-dev, <
> cfe-dev at lists.llvm.org> wrote:
>
>> Fair point made on that thread - that this is a DR, so technically the
>> std::move is pessimizing even in C++11 mode. Richard: Any thoughts on
>> generalizing the warning to cover these cases even in C++11 mode?
>>
>> On Sat, Sep 15, 2018 at 2:37 AM Dávid Bolvanský <
>> david.bolvansky at gmail.com> wrote:
>>
>>> There is a new discussion related to -Wredundant-move warning on GCC
>>> bugzilla.
>>>
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87300
>>>
>>> pi 14. 9. 2018 o 9:53 David Blaikie <dblaikie at gmail.com> napísal(a):
>>>
>>>>
>>>>
>>>> On Fri, Sep 14, 2018 at 12:48 AM Stephan Bergmann <sbergman at redhat.com>
>>>> wrote:
>>>>
>>>>> On 13/09/2018 18:22, David Blaikie via llvm-dev wrote:
>>>>> > On Thu, Sep 13, 2018 at 12:13 AM Dávid Bolvanský via llvm-dev
>>>>> > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>>>> >
>>>>>  /home/davidbolvansky/trunk/llvm/unittests/ExecutionEngine/Orc/CompileOnDemandLayerTest.cpp:79:40:
>>>>>
>>>>> >       required from here
>>>>> >
>>>>>  /home/davidbolvansky/trunk/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h:314:29:
>>>>> >     warning: redundant move in return statement [-Wredundant-move]
>>>>> >     314 |         return std::move(Err);
>>>>>
>>>>> Note that the move (into the implicit JITSymbol(Error) ctor) is only
>>>>> redundant if the compiler implements a fix for
>>>>> <http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1579>
>>>>> "Return by converting move constructor".  (But not sure whether the
>>>>> LLVM
>>>>> compiler baselines imply that, anyway.
>>>>
>>>>
>>>> Looks like that was accepted for C++14, not 11. So I don't believe it's
>>>> valid to remove the std::move in C++11 code. (& I believe Clang's warning
>>>> correctly diagnoses this only in the right language versions) - so we
>>>> probably want to disable the buggy GCC warning here, then.
>>>>
>>>>
>>>>> In LibreOffice it forced me to
>>>>> introduce ugly #ifs, to not have to disable that warning outright,
>>>>> <
>>>>> https://cgit.freedesktop.org/libreoffice/core/commit/?id=dc06c8f4989fc28d0c31ebd333e53dfe0e0f5f66>
>>>>>
>>>>> "-Werror=redundant-move (GCC 9), take two".)
>>>>>
>>>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180918/36b05af0/attachment.html>


More information about the llvm-dev mailing list