From 2b7acebb75d29998fd11f7580c9c63da4da4bbfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Fri, 5 Nov 2021 19:27:39 +0100 Subject: [PATCH] stratosphere: fix missing require clauses in definitions GCC not requiring the require clauses to be repeated for member definitions is actually a compiler bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96830 Clang rejects declarations with missing require clauses. --- .../include/stratosphere/tipc/tipc_deferral_manager.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/libstratosphere/include/stratosphere/tipc/tipc_deferral_manager.hpp b/libraries/libstratosphere/include/stratosphere/tipc/tipc_deferral_manager.hpp index c087c3941..e07f4d4af 100644 --- a/libraries/libstratosphere/include/stratosphere/tipc/tipc_deferral_manager.hpp +++ b/libraries/libstratosphere/include/stratosphere/tipc/tipc_deferral_manager.hpp @@ -167,12 +167,12 @@ namespace ams::tipc { return AMS_OFFSETOF(DeferralManagerBase, m_objects_base); } - template + template requires (N > 0) consteval size_t DeferralManager::GetObjectPointersOffset() { return AMS_OFFSETOF(DeferralManager, m_objects); } - template + template requires (N > 0) inline DeferralManager::DeferralManager() : DeferralManagerBase() { static_assert(GetObjectPointersOffset() == GetObjectPointersOffsetBase()); static_assert(sizeof(DeferralManager) == sizeof(DeferralManagerBase) + N * sizeof(DeferrableBase *));