[UCRT] Add some missing typename for GCC compatibility

This commit is contained in:
Timo Kreuzer 2024-10-13 19:31:21 +02:00
parent 90fb8391fc
commit 5ba105e9b5
3 changed files with 7 additions and 7 deletions

View file

@ -1329,7 +1329,7 @@ floating_point_parse_result __cdecl parse_floating_point_possible_nan(
StoredState stored_state StoredState stored_state
) throw() ) throw()
{ {
using char_type = CharacterSource::char_type; using char_type = typename CharacterSource::char_type;
auto restore_state = [&]() auto restore_state = [&]()
{ {

View file

@ -11,7 +11,7 @@
template<typename TPolicy> template<typename TPolicy>
static typename TPolicy::policy_type __cdecl get_win_policy(typename TPolicy::appmodel_policy_type defaultValue) static typename TPolicy::policy_type __cdecl get_win_policy(typename TPolicy::appmodel_policy_type defaultValue)
{ {
TPolicy::appmodel_policy_type appmodelPolicy = defaultValue; typename TPolicy::appmodel_policy_type appmodelPolicy = defaultValue;
// Secure processes cannot load the appmodel DLL, so only attempt loading // Secure processes cannot load the appmodel DLL, so only attempt loading
// policy information if this is not a secure process. // policy information if this is not a secure process.
@ -29,10 +29,10 @@ static typename TPolicy::policy_type __cdecl get_cached_win_policy(typename TPol
static long state_cache = 0; static long state_cache = 0;
if (long const cached_state = __crt_interlocked_read(&state_cache)) if (long const cached_state = __crt_interlocked_read(&state_cache))
{ {
return static_cast<TPolicy::policy_type>(cached_state); return static_cast<typename TPolicy::policy_type>(cached_state);
} }
TPolicy::appmodel_policy_type appmodelPolicy = defaultValue; typename TPolicy::appmodel_policy_type appmodelPolicy = defaultValue;
// Secure processes cannot load the appmodel DLL, so only attempt loading // Secure processes cannot load the appmodel DLL, so only attempt loading
// policy information if this is not a secure process. // policy information if this is not a secure process.
@ -41,7 +41,7 @@ static typename TPolicy::policy_type __cdecl get_cached_win_policy(typename TPol
TPolicy::appmodel_get_policy(&appmodelPolicy); TPolicy::appmodel_get_policy(&appmodelPolicy);
} }
TPolicy::policy_type const policyValue = TPolicy::appmodel_policy_to_policy_type(appmodelPolicy); typename TPolicy::policy_type const policyValue = TPolicy::appmodel_policy_to_policy_type(appmodelPolicy);
long const cached_state = _InterlockedExchange(&state_cache, static_cast<long>(policyValue)); long const cached_state = _InterlockedExchange(&state_cache, static_cast<long>(policyValue));
if (cached_state) if (cached_state)

View file

@ -138,7 +138,7 @@ static __forceinline size_t __cdecl common_strnlen_c(
// [2] Aligned Vector Loop (Middle) // [2] Aligned Vector Loop (Middle)
__crt_simd_cleanup_guard<Isa> const simd_cleanup; __crt_simd_cleanup_guard<Isa> const simd_cleanup;
traits::pack_type const zero = traits::get_zero_pack(); typename traits::pack_type const zero = traits::get_zero_pack();
size_t const middle_and_suffix_count = maximum_count - prefix_count; size_t const middle_and_suffix_count = maximum_count - prefix_count;
size_t const suffix_count = middle_and_suffix_count % traits::pack_size; size_t const suffix_count = middle_and_suffix_count % traits::pack_size;
@ -147,7 +147,7 @@ static __forceinline size_t __cdecl common_strnlen_c(
Element const* const middle_last = it + middle_count; Element const* const middle_last = it + middle_count;
while (!last_reached<Mode>(it, middle_last)) while (!last_reached<Mode>(it, middle_last))
{ {
auto const element_it = reinterpret_cast<traits::pack_type const*>(it); auto const element_it = reinterpret_cast<typename traits::pack_type const*>(it);
bool const element_has_terminator = traits::compute_byte_mask(traits::compare_equals(*element_it, zero)) != 0; bool const element_has_terminator = traits::compute_byte_mask(traits::compare_equals(*element_it, zero)) != 0;
if (element_has_terminator) if (element_has_terminator)