Skip to content

Commit 5734fa8

Browse files
committedDec 16, 2024
🐛 __int128_t is not supported on this target (arm-none-eabi-gcc) Fix #14
1 parent 83f4e7d commit 5734fa8

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed
 

‎mph

+18-8
Original file line numberDiff line numberDiff line change
@@ -621,8 +621,10 @@ using i32 = __INT32_TYPE__;
621621
using u32 = __UINT32_TYPE__;
622622
using i64 = __INT64_TYPE__;
623623
using u64 = __UINT64_TYPE__;
624+
#if defined(__SIZEOF_INT128__)
624625
using i128 = __int128;
625626
using u128 = unsigned __int128;
627+
#endif
626628

627629
namespace utility {
628630
template<class T1, class T2>
@@ -906,18 +908,22 @@ struct traits {
906908

907909
using key_type = decltype([] {
908910
if constexpr (max_len <= sizeof(u8)) { return u8{}; }
909-
else if constexpr (max_len <= sizeof(u16)) { return u16{}; }
910-
else if constexpr (max_len <= sizeof(u32)) { return u32{}; }
911-
else if constexpr (max_len <= sizeof(u64)) { return u64{}; }
912-
else if constexpr (max_len <= sizeof(u128)) { return u128{}; }
911+
else if constexpr (max_len <= sizeof(u16)) { return u16{}; }
912+
else if constexpr (max_len <= sizeof(u32)) { return u32{}; }
913+
else if constexpr (max_len <= sizeof(u64)) { return u64{}; }
914+
#if defined(__SIZEOF_INT128__)
915+
else if constexpr (max_len <= sizeof(u128)) { return u128{}; }
916+
#endif
913917
}());
914918

915919
using mapped_type = decltype([] {
916920
if constexpr (entries.size() < u8(u8{}-1u)) { return u8{}; }
917921
else if constexpr (entries.size() < u16(u16{}-1u)) { return u16{}; }
918922
else if constexpr (entries.size() < u32(u32{}-1u)) { return u32{}; }
919923
else if constexpr (entries.size() < u64(u64{}-1u)) { return u64{}; }
924+
#if defined(__SIZEOF_INT128__)
920925
else if constexpr (entries.size() < u128(u128{}-1u)) { return u128{}; }
926+
#endif
921927
}());
922928

923929
utility::array<utility::compressed_pair<key_type, mapped_type>, entries.size()> entries_;
@@ -934,10 +940,12 @@ struct traits {
934940

935941
using key_type = decltype([] {
936942
if constexpr (max_len <= sizeof(u8)) { return u8{}; }
937-
else if constexpr (max_len <= sizeof(u16)) { return u16{}; }
938-
else if constexpr (max_len <= sizeof(u32)) { return u32{}; }
939-
else if constexpr (max_len <= sizeof(u64)) { return u64{}; }
940-
else if constexpr (max_len <= sizeof(u128)) { return u128{}; }
943+
else if constexpr (max_len <= sizeof(u16)) { return u16{}; }
944+
else if constexpr (max_len <= sizeof(u32)) { return u32{}; }
945+
else if constexpr (max_len <= sizeof(u64)) { return u64{}; }
946+
#if defined(__SIZEOF_INT128__)
947+
else if constexpr (max_len <= sizeof(u128)) { return u128{}; }
948+
#endif
941949
}());
942950
using mapped_type = typename type_traits::value_type_t<entries>::second_type;
943951

@@ -953,7 +961,9 @@ struct traits {
953961
else if constexpr (entries.size() < u16(u16{}-1u)) { return u16{}; }
954962
else if constexpr (entries.size() < u32(u32{}-1u)) { return u32{}; }
955963
else if constexpr (entries.size() < u64(u64{}-1u)) { return u64{}; }
964+
#if defined(__SIZEOF_INT128__)
956965
else if constexpr (entries.size() < u128(u128{}-1u)) { return u128{}; }
966+
#endif
957967
}());
958968

959969
utility::array<utility::compressed_pair<key_type, mapped_type>, entries.size()> entries_;

0 commit comments

Comments
 (0)