diff options
| -rw-r--r-- | src/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | src/common/intrusive_red_black_tree.h | 8 | ||||
| -rw-r--r-- | src/common/typed_address.h | 5 | ||||
| -rw-r--r-- | src/core/internal_network/socket_proxy.h | 3 | ||||
| -rw-r--r-- | src/core/internal_network/sockets.h | 13 | ||||
| -rw-r--r-- | src/web_service/verify_login.cpp | 2 |
6 files changed, 14 insertions, 28 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0eca8e90e..312a49f42 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt | |||
| @@ -126,6 +126,17 @@ else() | |||
| 126 | add_compile_options("-stdlib=libc++") | 126 | add_compile_options("-stdlib=libc++") |
| 127 | endif() | 127 | endif() |
| 128 | 128 | ||
| 129 | # GCC bugs | ||
| 130 | if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") | ||
| 131 | # These diagnostics would be great if they worked, but are just completely broken | ||
| 132 | # and produce bogus errors on external libraries like fmt. | ||
| 133 | add_compile_options( | ||
| 134 | -Wno-array-bounds | ||
| 135 | -Wno-stringop-overread | ||
| 136 | -Wno-stringop-overflow | ||
| 137 | ) | ||
| 138 | endif() | ||
| 139 | |||
| 129 | # Set file offset size to 64 bits. | 140 | # Set file offset size to 64 bits. |
| 130 | # | 141 | # |
| 131 | # On modern Unixes, this is typically already the case. The lone exception is | 142 | # On modern Unixes, this is typically already the case. The lone exception is |
diff --git a/src/common/intrusive_red_black_tree.h b/src/common/intrusive_red_black_tree.h index 5f6b34e82..bc2940fa0 100644 --- a/src/common/intrusive_red_black_tree.h +++ b/src/common/intrusive_red_black_tree.h | |||
| @@ -96,10 +96,6 @@ public: | |||
| 96 | return m_node == rhs.m_node; | 96 | return m_node == rhs.m_node; |
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | constexpr bool operator!=(const Iterator& rhs) const { | ||
| 100 | return !(*this == rhs); | ||
| 101 | } | ||
| 102 | |||
| 103 | constexpr pointer operator->() const { | 99 | constexpr pointer operator->() const { |
| 104 | return m_node; | 100 | return m_node; |
| 105 | } | 101 | } |
| @@ -324,10 +320,6 @@ public: | |||
| 324 | return m_impl == rhs.m_impl; | 320 | return m_impl == rhs.m_impl; |
| 325 | } | 321 | } |
| 326 | 322 | ||
| 327 | constexpr bool operator!=(const Iterator& rhs) const { | ||
| 328 | return !(*this == rhs); | ||
| 329 | } | ||
| 330 | |||
| 331 | constexpr pointer operator->() const { | 323 | constexpr pointer operator->() const { |
| 332 | return Traits::GetParent(std::addressof(*m_impl)); | 324 | return Traits::GetParent(std::addressof(*m_impl)); |
| 333 | } | 325 | } |
diff --git a/src/common/typed_address.h b/src/common/typed_address.h index cf7bbeae1..64f4a07c2 100644 --- a/src/common/typed_address.h +++ b/src/common/typed_address.h | |||
| @@ -116,7 +116,6 @@ public: | |||
| 116 | 116 | ||
| 117 | // Comparison operators. | 117 | // Comparison operators. |
| 118 | constexpr bool operator==(const TypedAddress&) const = default; | 118 | constexpr bool operator==(const TypedAddress&) const = default; |
| 119 | constexpr bool operator!=(const TypedAddress&) const = default; | ||
| 120 | constexpr auto operator<=>(const TypedAddress&) const = default; | 119 | constexpr auto operator<=>(const TypedAddress&) const = default; |
| 121 | 120 | ||
| 122 | // For convenience, also define comparison operators versus uint64_t. | 121 | // For convenience, also define comparison operators versus uint64_t. |
| @@ -124,10 +123,6 @@ public: | |||
| 124 | return m_address == rhs; | 123 | return m_address == rhs; |
| 125 | } | 124 | } |
| 126 | 125 | ||
| 127 | constexpr inline bool operator!=(uint64_t rhs) const { | ||
| 128 | return m_address != rhs; | ||
| 129 | } | ||
| 130 | |||
| 131 | // Allow getting the address explicitly, for use in accessors. | 126 | // Allow getting the address explicitly, for use in accessors. |
| 132 | constexpr inline uint64_t GetValue() const { | 127 | constexpr inline uint64_t GetValue() const { |
| 133 | return m_address; | 128 | return m_address; |
diff --git a/src/core/internal_network/socket_proxy.h b/src/core/internal_network/socket_proxy.h index 9421492bc..6e991fa38 100644 --- a/src/core/internal_network/socket_proxy.h +++ b/src/core/internal_network/socket_proxy.h | |||
| @@ -16,9 +16,6 @@ namespace Network { | |||
| 16 | 16 | ||
| 17 | class ProxySocket : public SocketBase { | 17 | class ProxySocket : public SocketBase { |
| 18 | public: | 18 | public: |
| 19 | YUZU_NON_COPYABLE(ProxySocket); | ||
| 20 | YUZU_NON_MOVEABLE(ProxySocket); | ||
| 21 | |||
| 22 | explicit ProxySocket(RoomNetwork& room_network_) noexcept; | 19 | explicit ProxySocket(RoomNetwork& room_network_) noexcept; |
| 23 | ~ProxySocket() override; | 20 | ~ProxySocket() override; |
| 24 | 21 | ||
diff --git a/src/core/internal_network/sockets.h b/src/core/internal_network/sockets.h index 4c7489258..11e479e50 100644 --- a/src/core/internal_network/sockets.h +++ b/src/core/internal_network/sockets.h | |||
| @@ -36,13 +36,10 @@ public: | |||
| 36 | 36 | ||
| 37 | SocketBase() = default; | 37 | SocketBase() = default; |
| 38 | explicit SocketBase(SOCKET fd_) : fd{fd_} {} | 38 | explicit SocketBase(SOCKET fd_) : fd{fd_} {} |
| 39 | |||
| 40 | virtual ~SocketBase() = default; | 39 | virtual ~SocketBase() = default; |
| 41 | 40 | ||
| 42 | virtual SocketBase& operator=(const SocketBase&) = delete; | 41 | YUZU_NON_COPYABLE(SocketBase); |
| 43 | 42 | YUZU_NON_MOVEABLE(SocketBase); | |
| 44 | // Avoid closing sockets implicitly | ||
| 45 | virtual SocketBase& operator=(SocketBase&&) noexcept = delete; | ||
| 46 | 43 | ||
| 47 | virtual Errno Initialize(Domain domain, Type type, Protocol protocol) = 0; | 44 | virtual Errno Initialize(Domain domain, Type type, Protocol protocol) = 0; |
| 48 | 45 | ||
| @@ -109,14 +106,8 @@ public: | |||
| 109 | 106 | ||
| 110 | ~Socket() override; | 107 | ~Socket() override; |
| 111 | 108 | ||
| 112 | Socket(const Socket&) = delete; | ||
| 113 | Socket& operator=(const Socket&) = delete; | ||
| 114 | |||
| 115 | Socket(Socket&& rhs) noexcept; | 109 | Socket(Socket&& rhs) noexcept; |
| 116 | 110 | ||
| 117 | // Avoid closing sockets implicitly | ||
| 118 | Socket& operator=(Socket&&) noexcept = delete; | ||
| 119 | |||
| 120 | Errno Initialize(Domain domain, Type type, Protocol protocol) override; | 111 | Errno Initialize(Domain domain, Type type, Protocol protocol) override; |
| 121 | 112 | ||
| 122 | Errno Close() override; | 113 | Errno Close() override; |
diff --git a/src/web_service/verify_login.cpp b/src/web_service/verify_login.cpp index 050080278..d5b7161cb 100644 --- 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 | |||
| 21 | return username.empty(); | 21 | return username.empty(); |
| 22 | } | 22 | } |
| 23 | 23 | ||
| 24 | return username == *iter; | 24 | return *iter == username; |
| 25 | } | 25 | } |
| 26 | 26 | ||
| 27 | } // namespace WebService | 27 | } // namespace WebService |