HomeFreeBSD

emulators/rpcs3: unbreak on -CURRENT after src@95aa617e4bf0

Description

emulators/rpcs3: unbreak on -CURRENT after src@95aa617e4bf0

In file included from rpcs3/Emu/Cell/Modules/cellNetCtl.cpp:1:
In file included from rpcs3/stdafx.h:7:
In file included from Utilities/File.h:4:
rpcs3/util/shared_ptr.hpp:10:17: error: constexpr variable 'same_ptr_implicit_v<thread_future, thread_future_t<true, netstart_hack &, int>>' must be initialized by a constant expression

constexpr bool same_ptr_implicit_v = std::is_convertible_v<const volatile From*, const volatile To*> ? is_same_ptr<From, To>() : false;
               ^                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

rpcs3/util/shared_ptr.hpp:396:34: note: in instantiation of variable template specialization 'stx::same_ptr_implicit_v<thread_future, thread_future_t<true, netstart_hack &, int>>' requested here

template <typename U> requires same_ptr_implicit_v<T, U>
                               ^

rpcs3/util/shared_ptr.hpp:396:34: note: while substituting template arguments into constraint expression here

template <typename U> requires same_ptr_implicit_v<T, U>
                               ^~~~~~~~~~~~~~~~~~~~~~~~~

Utilities/Thread.h:567:18: note: while checking constraint satisfaction for template 'shared_ptr<thread_future_t<true, netstart_hack &, int>>' required here

thread::push(std::move(target));
             ^~~

Utilities/Thread.h:567:18: note: in instantiation of function template specialization 'stx::shared_ptr<thread_future>::shared_ptr<thread_future_t<true, netstart_hack &, int>>' requested here
rpcs3/Emu/Cell/Modules/cellNetCtl.cpp:264:43: note: in instantiation of function template specialization 'named_thread<netstart_hack>::operator()<true, int>' requested here

g_fxo->get<named_thread<netstart_hack>>()(0);
                                         ^

rpcs3/util/types.hpp:1049:16: note: non-constexpr function 'allocate' cannot be used in a constant expression

X* ptr = a.allocate(1);
           ^

rpcs3/util/shared_ptr.hpp:10:105: note: in call to 'is_same_ptr()'

constexpr bool same_ptr_implicit_v = std::is_convertible_v<const volatile From*, const volatile To*> ? is_same_ptr<From, To>() : false;
                                                                                                       ^

/usr/include/c++/v1/memory:1783:66: note: declared here

_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY _Tp* allocate(size_t __n)
                                                             ^

In file included from rpcs3/Emu/Cell/Modules/cellNetCtl.cpp:1:
In file included from rpcs3/stdafx.h:7:
In file included from Utilities/File.h:4:
rpcs3/util/shared_ptr.hpp:396:34: error: substitution into constraint expression resulted in a non-constant expression

template <typename U> requires same_ptr_implicit_v<T, U>
                               ^~~~~~~~~~~~~~~~~~~~~~~~~

Utilities/Thread.h:567:18: note: while checking constraint satisfaction for template 'shared_ptr<thread_future_t<true, netstart_hack &, int>>' required here

thread::push(std::move(target));
             ^~~

Utilities/Thread.h:567:18: note: in instantiation of function template specialization 'stx::shared_ptr<thread_future>::shared_ptr<thread_future_t<true, netstart_hack &, int>>' requested here
rpcs3/Emu/Cell/Modules/cellNetCtl.cpp:264:43: note: in instantiation of function template specialization 'named_thread<netstart_hack>::operator()<true, int>' requested here

g_fxo->get<named_thread<netstart_hack>>()(0);
                                         ^

rpcs3/util/shared_ptr.hpp:396:34: note: initializer of 'same_ptr_implicit_v<thread_future, thread_future_t<true, netstart_hack &, int>>' is not a constant expression

template <typename U> requires same_ptr_implicit_v<T, U>
                               ^

rpcs3/util/shared_ptr.hpp:10:17: note: declared here

constexpr bool same_ptr_implicit_v = std::is_convertible_v<const volatile From*, const volatile To*> ? is_same_ptr<From, To>() : false;
               ^

In file included from rpcs3/Emu/Cell/Modules/cellNetCtl.cpp:3:
In file included from rpcs3/Emu/Cell/PPUModule.h:3:
In file included from rpcs3/Emu/Cell/PPUFunction.h:3:
In file included from rpcs3/Emu/Cell/PPUThread.h:3:
In file included from rpcs3/Emu/CPU/CPUThread.h:3:
Utilities/Thread.h:567:18: error: no viable conversion from 'typename remove_reference<single_ptr<thread_future_t<true, netstart_hack &, int>> &>::type' (aka 'stx::single_ptr<thread_future_t<true, netstart_hack &, int>>') to 'shared_ptr<thread_future>'

thread::push(std::move(target));
             ^~~~~~~~~~~~~~~~~

rpcs3/Emu/Cell/Modules/cellNetCtl.cpp:264:43: note: in instantiation of function template specialization 'named_thread<netstart_hack>::operator()<true, int>' requested here

g_fxo->get<named_thread<netstart_hack>>()(0);
                                         ^

rpcs3/util/shared_ptr.hpp:356:3: note: candidate constructor not viable: no known conversion from 'typename remove_reference<single_ptr<thread_future_t<true, netstart_hack &, int>> &>::type' (aka 'stx::single_ptr<thread_future_t<true, netstart_hack &, int>>') to 'const stx::shared_ptr<thread_future> &' for 1st argument

shared_ptr(const shared_ptr& r) noexcept
^

rpcs3/util/shared_ptr.hpp:364:34: note: candidate constructor not viable: no known conversion from 'typename remove_reference<single_ptr<thread_future_t<true, netstart_hack &, int>> &>::type' (aka 'stx::single_ptr<thread_future_t<true, netstart_hack &, int>>') to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument

[[deprecated("Use null_ptr")]] shared_ptr(std::nullptr_t) = delete;
                               ^

rpcs3/util/shared_ptr.hpp:383:3: note: candidate constructor not viable: no known conversion from 'typename remove_reference<single_ptr<thread_future_t<true, netstart_hack &, int>> &>::type' (aka 'stx::single_ptr<thread_future_t<true, netstart_hack &, int>>') to 'stx::shared_ptr<thread_future> &&' for 1st argument

shared_ptr(shared_ptr&& r) noexcept
^

rpcs3/util/shared_ptr.hpp:376:3: note: candidate template ignored: could not match 'shared_ptr' against 'single_ptr'

shared_ptr(const shared_ptr<U>& r) noexcept
^

rpcs3/util/shared_ptr.hpp:390:3: note: candidate template ignored: could not match 'shared_ptr' against 'single_ptr'

shared_ptr(shared_ptr<U>&& r) noexcept
^

rpcs3/util/shared_ptr.hpp:397:3: note: candidate template ignored: failed template argument deduction

shared_ptr(single_ptr<U>&& r) noexcept
^

rpcs3/util/shared_ptr.hpp:367:12: note: explicit constructor is not a candidate

explicit shared_ptr(T* _this) noexcept
         ^

rpcs3/util/shared_ptr.hpp:200:3: note: candidate function

operator element_type*() const noexcept
^

rpcs3/util/shared_ptr.hpp:212:12: note: explicit conversion function is not a candidate

explicit operator single_ptr<U>() && noexcept
         ^

Utilities/Thread.h:187:37: note: passing argument to parameter here

void push(shared_ptr<thread_future>);
                                   ^

Reported by: pkg-fallout

(cherry picked from commit e8aa9591b338dee8335d4d4ccf088871bdb78b54)

Details

Provenance
jbeichAuthored on Jun 7 2021, 5:06 AM
Parents
R11:f3b45d7e229b: databases/pglogical: Security update to 2.3.4
Branches
Unknown
Tags
Unknown