diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-02-06 19:04:53 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-06 19:04:53 +0100 |
commit | 34024edcaa0c509545429f4f40ccfa80221d406f (patch) | |
tree | 6f9746533efb307bf49fcd8fdc0248f2ab7dda51 | |
parent | b5a67cf17dbf18369a2a3370d9d45ca6c56e8cc7 (diff) |
Core/Misc: Fixed clang pch build on some distros
Closes #27343
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 9 |
1 files changed, 6 insertions, 3 deletions
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<SpellSchools>()) - if (mask & GetMaskForSchool(school)) - return school; + // Do not use EnumUtils to iterate + // this can cause some compilers to instantiate Trinity::Impl::EnumUtils<SpellSchools> + // 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; } |