[PATCH] D70963: [cmake] Disable GCC 9's -Wredundant-move
Pavel Labath via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 9 02:21:32 PST 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rG385ba6065a9f: [cmake] Disable GCC 9's -Wredundant-move (authored by labath).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70963/new/
https://reviews.llvm.org/D70963
Files:
llvm/cmake/modules/HandleLLVMOptions.cmake
Index: llvm/cmake/modules/HandleLLVMOptions.cmake
===================================================================
--- llvm/cmake/modules/HandleLLVMOptions.cmake
+++ llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -610,6 +610,16 @@
check_cxx_compiler_flag("-Wclass-memaccess" CXX_SUPPORTS_CLASS_MEMACCESS_FLAG)
append_if(CXX_SUPPORTS_CLASS_MEMACCESS_FLAG "-Wno-class-memaccess" CMAKE_CXX_FLAGS)
+ # Disable -Wredundant-move on GCC>=9. GCC wants to remove std::move in code
+ # like "A foo(ConvertibleToA a) { return std::move(a); }", but this code does
+ # not compile (or uses the copy constructor instead) on clang<=3.8. Clang also
+ # has a -Wredundant-move, but it only fires when the types match exactly, so
+ # we can keep it here.
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ check_cxx_compiler_flag("-Wredundant-move" CXX_SUPPORTS_REDUNDANT_MOVE_FLAG)
+ append_if(CXX_SUPPORTS_REDUNDANT_MOVE_FLAG "-Wno-redundant-move" CMAKE_CXX_FLAGS)
+ endif()
+
# The LLVM libraries have no stable C++ API, so -Wnoexcept-type is not useful.
check_cxx_compiler_flag("-Wnoexcept-type" CXX_SUPPORTS_NOEXCEPT_TYPE_FLAG)
append_if(CXX_SUPPORTS_NOEXCEPT_TYPE_FLAG "-Wno-noexcept-type" CMAKE_CXX_FLAGS)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70963.232783.patch
Type: text/x-patch
Size: 1222 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191209/ca6c3174/attachment.bin>
More information about the llvm-commits
mailing list