aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-02-06 19:04:53 +0100
committerShauren <shauren.trinity@gmail.com>2022-02-06 19:04:53 +0100
commit34024edcaa0c509545429f4f40ccfa80221d406f (patch)
tree6f9746533efb307bf49fcd8fdc0248f2ab7dda51 /src
parentb5a67cf17dbf18369a2a3370d9d45ca6c56e8cc7 (diff)
Core/Misc: Fixed clang pch build on some distros
Closes #27343
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h9
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;
}