| Issue |
60945
|
| Summary |
unsupported signature for 'std::move<_IO_FILE *&> (and many others) with built-in std::move
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
Cogitri
|
Hello,
ever since https://reviews.llvm.org/D123345 (tested on clang-15), tools like `clang-tidy` fail to build many C++ projects using `std::move`, like boost. It builds without problems with `-fno-builtin`. The following errors are emitted for e.g. `boost`:
```
error: too many errors emitted, stopping now [clang-diagnostic-error]
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/core/exchange.hpp:40:11: error: unsupported signature for 'std::move<_IO_FILE *&>' [clang-diagnostic-error]
T v = std::move(t);
^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/beast/core/impl/file_stdio.ipp:31:17: note: in instantiation of function template specialization 'boost::exchange<_IO_FILE *, std::nullptr_t>' requested here
: f_(boost::exchange(other.f_, nullptr))
^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/core/exchange.hpp:40:11: error: unsupported signature for 'std::move<bool &>' [clang-diagnostic-error]
T v = std::move(t);
^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/beast/core/detail/stream_base.hpp:93:29: note: in instantiation of function template specialization 'boost::exchange<bool, bool>' requested here
, clear_(boost::exchange(
^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/core/exchange.hpp:40:11: error: unsupported signature for 'std::move<boost::beast::saved_handler::base *&>' [clang-diagnostic-error]
T v = std::move(t);
^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/beast/core/impl/saved_handler.ipp:28:17: note: in instantiation of function template specialization 'boost::exchange<boost::beast::saved_handler::base *, std::nullptr_t>' requested here
: p_(boost::exchange(other.p_, nullptr))
^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/core/exchange.hpp:40:11: error: unsupported signature for 'std::move<char *&>' [clang-diagnostic-error]
T v = std::move(t);
^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/beast/core/detail/impl/temporary_buffer.ipp:62:23: note: in instantiation of function template specialization 'boost::exchange<char *, char *const &>' requested here
deallocate(boost::exchange(data_, p));
^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/core/exchange.hpp:40:11: error: unsupported signature for 'std::move<int &>' [clang-diagnostic-error]
T v = std::move(t);
^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/beast/core/impl/file_posix.ipp:81:18: note: in instantiation of function template specialization 'boost::exchange<int, int>' requested here
: fd_(boost::exchange(other.fd_, -1))
^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/smart_ptr/detail/local_counted_base.hpp:67:9: error: use of undeclared identifier '__builtin_assume' [clang-diagnostic-error]
__builtin_assume( local_use_count_ >= 1 );
^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/smart_ptr/detail/local_counted_base.hpp:110:79: error: unsupported signature for 'std::move<boost::detail::shared_count &>' [clang-diagnostic-error]
explicit local_counted_impl( shared_count && pn ) BOOST_SP_NOEXCEPT: pn_( std::move(pn) )
^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp:35:49: error: too few arguments to function call, expected 6, have 3 [clang-diagnostic-error]
__atomic_fetch_add( pw, 1, __ATOMIC_RELAXED );
~~~~~~~~~~~~~~~~~~ ^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp:40:56: error: too few arguments to function call, expected 6, have 3 [clang-diagnostic-error]
return __atomic_fetch_sub( pw, 1, __ATOMIC_ACQ_REL );
~~~~~~~~~~~~~~~~~~ ^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp:49:27: error: cannot initialize a variable of type 'boost::uint_least32_t' (aka 'unsigned int') with an rvalue of type 'void' [clang-diagnostic-error]
boost::uint_least32_t r = __atomic_load_n( pw, __ATOMIC_RELAXED );
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp:58:57: error: too many arguments to function call, expected 3, have 6 [clang-diagnostic-error]
if( __atomic_compare_exchange_n( pw, &r, r + 1, true, __ATOMIC_RELAXED, __ATOMIC_RELAXED ) )
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp:67:12: error: cannot initialize return object of type 'boost::uint_least32_t' (aka 'unsigned int') with an rvalue of type 'void' [clang-diagnostic-error]
return __atomic_load_n( pw, __ATOMIC_ACQUIRE );
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:39:61: error: too few arguments to function call, expected 3, have 2 [clang-diagnostic-error]
return __atomic_test_and_set( &v_, __ATOMIC_ACQUIRE ) == 0;
~~~~~~~~~~~~~~~~~~~~~ ^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:52:47: error: too few arguments to function call, expected 3, have 2 [clang-diagnostic-error]
__atomic_clear( &v_, __ATOMIC_RELEASE );
~~~~~~~~~~~~~~ ^
/home/dev/.conan/data/boost/1.80.0/_/_/package/6c6f550ea882f4b157cd61f6b5b4e434517f30ae/include/boost/smart_ptr/shared_ptr.hpp:364:169: error: unsupported signature for 'std::move<boost::detail::shared_count &>' [clang-diagnostic-error]
BOOST_CONSTEXPR shared_ptr( boost::detail::sp_internal_constructor_tag, element_type * px_, boost::detail::shared_count && pn_ ) BOOST_SP_NOEXCEPT : px( px_ ), pn( std::move( pn_ ) )
^
/home/dev/Projects/ds4-util/build/../ds4b-tests-util/src/http/DownloaderTestsServer.cpp:37:59: error: unsupported signature for 'std::move<boost::asio::basic_stream_socket<boost::asio::ip::tcp> &>' [clang-diagnostic-error]
return SharedPtr<HttpConnection>(new HttpConnection(std::move(socket)));
^
/home/dev/Projects/ds4-util/build/../ds4b-tests-util/src/http/DownloaderTestsServer.cpp:54:18: error: unsupported signature for 'std::move<boost::asio::basic_stream_socket<boost::asio::ip::tcp> &>' [clang-diagnostic-error]
: socket(std::move(socket)), deadline(this->socket.get_executor(), std::chrono::seconds(10)) {
^
/home/dev/Projects/ds4-util/build/../ds4b-tests-util/src/http/DownloaderTestsServer.cpp:131:32: error: unsupported signature for 'std::move<boost::asio::basic_stream_socket<boost::asio::ip::tcp> &>' [clang-diagnostic-error]
HttpConnection::create(std::move(socket))->start();
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/basic_string.h:553:38: error: unsupported signature for 'std::move<std::allocator<char> &>' [clang-diagnostic-error]
: _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator()))
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/basic_string.h:6604:12: note: in instantiation of member function 'std::basic_string<char>::basic_string' requested here
return __str;
^
8726 warnings and 20 errors generated.
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs