Stephan Bergmann via llvm-dev
2018-Sep-14 07:48 UTC
[llvm-dev] New warnings when building trunk with GCC 9
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. 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".)
David Blaikie via llvm-dev
2018-Sep-14 07:53 UTC
[llvm-dev] New warnings when building trunk with GCC 9
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".) >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180914/cf991a8c/attachment.html>
Dávid Bolvanský via llvm-dev
2018-Sep-15 09:36 UTC
[llvm-dev] New warnings when building trunk with GCC 9
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".) >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180915/95cffd4c/attachment.html>