From 34024edcaa0c509545429f4f40ccfa80221d406f Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 6 Feb 2022 19:04:53 +0100 Subject: Core/Misc: Fixed clang pch build on some distros Closes #27343 --- src/server/game/Miscellaneous/SharedDefines.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/server') diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 1c06f20008d..729a3020359 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -338,9 +338,12 @@ constexpr SpellSchoolMask GetMaskForSchool(SpellSchools school) inline SpellSchools GetFirstSchoolInMask(SpellSchoolMask mask) { - for (SpellSchools school : EnumUtils::Iterate()) - if (mask & GetMaskForSchool(school)) - return school; + // Do not use EnumUtils to iterate + // this can cause some compilers to instantiate Trinity::Impl::EnumUtils + // when compiling enuminfo_SharedDefines before their explicit specializations in that file + for (uint16 i = 0; i < MAX_SPELL_SCHOOL; ++i) + if (mask & (1 << i)) + return SpellSchools(i); return SPELL_SCHOOL_NORMAL; } -- cgit v1.2.3