Fix build with gcc 13 via upstream patch
This commit is contained in:
parent
d033377234
commit
5e5e22e73f
2 changed files with 106 additions and 0 deletions
105
debian/patches/fixes-for-gcc-13.patch
vendored
Normal file
105
debian/patches/fixes-for-gcc-13.patch
vendored
Normal file
|
@ -0,0 +1,105 @@
|
|||
Description: general: fixes for gcc 13
|
||||
Autor: Liam <byteslice@airmail.cc>
|
||||
Origin: https://github.com/yuzu-emu/yuzu-mainline/commit/a9623d5f550c8fc63f436a40f43bfbf539ac0853
|
||||
Date: Sun, 2 Apr 2023 19:02:04 -0400
|
||||
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -126,6 +126,17 @@ else()
|
||||
add_compile_options("-stdlib=libc++")
|
||||
endif()
|
||||
|
||||
+ # GCC bugs
|
||||
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
+ # These diagnostics would be great if they worked, but are just completely broken
|
||||
+ # and produce bogus errors on external libraries like fmt.
|
||||
+ add_compile_options(
|
||||
+ -Wno-array-bounds
|
||||
+ -Wno-stringop-overread
|
||||
+ -Wno-stringop-overflow
|
||||
+ )
|
||||
+ endif()
|
||||
+
|
||||
# Set file offset size to 64 bits.
|
||||
#
|
||||
# On modern Unixes, this is typically already the case. The lone exception is
|
||||
--- a/src/common/intrusive_red_black_tree.h
|
||||
+++ b/src/common/intrusive_red_black_tree.h
|
||||
@@ -96,10 +96,6 @@ class IntrusiveRedBlackTreeImpl {
|
||||
return m_node == rhs.m_node;
|
||||
}
|
||||
|
||||
- constexpr bool operator!=(const Iterator& rhs) const {
|
||||
- return !(*this == rhs);
|
||||
- }
|
||||
-
|
||||
constexpr pointer operator->() const {
|
||||
return m_node;
|
||||
}
|
||||
@@ -324,10 +320,6 @@ class IntrusiveRedBlackTree {
|
||||
return m_impl == rhs.m_impl;
|
||||
}
|
||||
|
||||
- constexpr bool operator!=(const Iterator& rhs) const {
|
||||
- return !(*this == rhs);
|
||||
- }
|
||||
-
|
||||
constexpr pointer operator->() const {
|
||||
return Traits::GetParent(std::addressof(*m_impl));
|
||||
}
|
||||
--- a/src/core/internal_network/socket_proxy.h
|
||||
+++ b/src/core/internal_network/socket_proxy.h
|
||||
@@ -16,9 +16,6 @@ namespace Network {
|
||||
|
||||
class ProxySocket : public SocketBase {
|
||||
public:
|
||||
- YUZU_NON_COPYABLE(ProxySocket);
|
||||
- YUZU_NON_MOVEABLE(ProxySocket);
|
||||
-
|
||||
explicit ProxySocket(RoomNetwork& room_network_) noexcept;
|
||||
~ProxySocket() override;
|
||||
|
||||
--- a/src/core/internal_network/sockets.h
|
||||
+++ b/src/core/internal_network/sockets.h
|
||||
@@ -36,13 +36,10 @@ class SocketBase {
|
||||
|
||||
SocketBase() = default;
|
||||
explicit SocketBase(SOCKET fd_) : fd{fd_} {}
|
||||
-
|
||||
virtual ~SocketBase() = default;
|
||||
|
||||
- virtual SocketBase& operator=(const SocketBase&) = delete;
|
||||
-
|
||||
- // Avoid closing sockets implicitly
|
||||
- virtual SocketBase& operator=(SocketBase&&) noexcept = delete;
|
||||
+ YUZU_NON_COPYABLE(SocketBase);
|
||||
+ YUZU_NON_MOVEABLE(SocketBase);
|
||||
|
||||
virtual Errno Initialize(Domain domain, Type type, Protocol protocol) = 0;
|
||||
|
||||
@@ -109,14 +106,8 @@ class Socket : public SocketBase {
|
||||
|
||||
~Socket() override;
|
||||
|
||||
- Socket(const Socket&) = delete;
|
||||
- Socket& operator=(const Socket&) = delete;
|
||||
-
|
||||
Socket(Socket&& rhs) noexcept;
|
||||
|
||||
- // Avoid closing sockets implicitly
|
||||
- Socket& operator=(Socket&&) noexcept = delete;
|
||||
-
|
||||
Errno Initialize(Domain domain, Type type, Protocol protocol) override;
|
||||
|
||||
Errno Close() override;
|
||||
--- a/src/web_service/verify_login.cpp
|
||||
+++ b/src/web_service/verify_login.cpp
|
||||
@@ -21,7 +21,7 @@ bool VerifyLogin(const std::string& host, const std::string& username, const std
|
||||
return username.empty();
|
||||
}
|
||||
|
||||
- return username == *iter;
|
||||
+ return *iter == username;
|
||||
}
|
||||
|
||||
} // namespace WebService
|
1
debian/patches/series
vendored
1
debian/patches/series
vendored
|
@ -1,3 +1,4 @@
|
|||
fixes-for-gcc-13.patch
|
||||
# Upstreamable patches
|
||||
cmake-mbedtls.patch
|
||||
#cmake-microprofile.patch
|
||||
|
|
Loading…
Reference in a new issue