Skip to content

Commit bbc50c6

Browse files
committed
Release v5.5.2
2 parents 85ce483 + 7c8770e commit bbc50c6

9 files changed

Lines changed: 38 additions & 32 deletions

File tree

.github/workflows/actions_build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ jobs:
224224
shell: cmd
225225
run: ctest -V
226226

227-
build_msvc_2025:
227+
build_msvc_2026:
228228
runs-on: windows-2025
229229
strategy:
230230
fail-fast: false

cmake/CC_Compile.cmake

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ macro (cc_compile)
4040
"-Wno-unknown-pragmas" "-fdiagnostics-show-option"
4141
"-Wcast-align" "-Wunused" "-Wconversion"
4242
"-Wold-style-cast" "-Wdouble-promotion"
43-
44-
"-Wno-sign-conversion" # This one is impractical
4543
)
4644

4745
if (CMAKE_COMPILER_IS_GNUCC)

include/comms/CompileControl.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,11 @@
8989
#define COMMS_IS_CLANG_16_OR_ABOVE (COMMS_IS_CLANG && (__clang_major__ >= 16))
9090
#define COMMS_IS_CLANG_18_OR_BELOW (COMMS_IS_CLANG && (__clang_major__ <= 18))
9191
#define COMMS_IS_CLANG_19_OR_BELOW (COMMS_IS_CLANG && (__clang_major__ <= 19))
92-
#define COMMS_IS_MSVC_2025 (COMMS_IS_MSVC && (_MSC_VER >= 1940) && (_MSC_VER < 1949))
93-
#define COMMS_IS_MSVC_2025_OR_BELOW (COMMS_IS_MSVC && (_MSC_VER < 1950))
94-
#define COMMS_IS_MSVC_2022 (COMMS_IS_MSVC && (_MSC_VER >= 1930) && (_MSC_VER < 1939))
92+
#define COMMS_IS_MSVC_2026 (COMMS_IS_MSVC && (_MSC_VER >= 1945) && (_MSC_VER < 1949))
93+
#define COMMS_IS_MSVC_2026_OR_BELOW (COMMS_IS_MSVC && (_MSC_VER < 1949))
94+
#define COMMS_IS_MSVC_2025 (COMMS_IS_MSVC && (_MSC_VER >= 1940) && (_MSC_VER < 1945))
95+
#define COMMS_IS_MSVC_2025_OR_BELOW (COMMS_IS_MSVC && (_MSC_VER < 1945))
96+
#define COMMS_IS_MSVC_2022 (COMMS_IS_MSVC && (_MSC_VER >= 1930) && (_MSC_VER < 1940))
9597
#define COMMS_IS_MSVC_2019 (COMMS_IS_MSVC && (_MSC_VER >= 1920) && (_MSC_VER < 1930))
9698
#define COMMS_IS_MSVC_2019_OR_BELOW (COMMS_IS_MSVC && (_MSC_VER < 1930))
9799
#define COMMS_IS_MSVC_2017_OR_BELOW (COMMS_IS_MSVC && (_MSC_VER < 1920))

include/comms/field/BitmaskValue.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include "comms/util/SizeToType.h"
2323

2424
#include <cstddef>
25+
#include <cstdint>
2526
#include <type_traits>
2627
#include <utility>
2728

@@ -48,7 +49,7 @@ template <>
4849
struct BitmaskUndertlyingType<false>
4950
{
5051
template <typename TOptionsBundle>
51-
using Type = unsigned;
52+
using Type = std::uintmax_t;
5253
};
5354

5455
template <typename TOptionsBundle>

include/comms/field/adapter/SequenceTerminationFieldSuffix.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,13 +163,16 @@ class SequenceTerminationFieldSuffix : public TBase
163163
template <typename TIter, typename... TParams>
164164
comms::ErrorStatus readInternal(TIter& iter, std::size_t len, RawDataTag<TParams...>)
165165
{
166+
using IterType = typename std::decay<decltype(iter)>::type;
167+
using DiffType = typename std::iterator_traits<IterType>::difference_type;
168+
166169
std::size_t consumed = 0U;
167170
std::size_t termFieldLen = 0U;
168171
while (consumed < len) {
169-
auto iterCpy = iter + consumed;
172+
auto iterCpy = iter + static_cast<DiffType>(consumed);
170173
auto es = m_termField.read(iterCpy, len - consumed);
171174
if (es == comms::ErrorStatus::Success) {
172-
termFieldLen = static_cast<std::size_t>(std::distance(iter + consumed, iterCpy));
175+
termFieldLen = static_cast<std::size_t>(std::distance(iter + static_cast<DiffType>(consumed), iterCpy));
173176
break;
174177
}
175178

include/comms/field/basic/ArrayList.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,9 @@ class ArrayList :
673673
template <typename TIter, typename... TParams>
674674
ErrorStatus readInternal(TIter& iter, std::size_t len, RawDataTag<TParams...>)
675675
{
676-
comms::util::assign(value(), iter, iter + std::min(len, comms::util::maxSizeOf(value())));
676+
using IterType = typename std::decay<decltype(iter)>::type;
677+
using DiffType = typename std::iterator_traits<IterType>::difference_type;
678+
comms::util::assign(value(), iter, iter + static_cast<DiffType>(std::min(len, comms::util::maxSizeOf(value()))));
677679
std::advance(iter, len);
678680
return ErrorStatus::Success;
679681
}

include/comms/field/basic/Variant.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -182,12 +182,12 @@ class VariantExecHelper
182182
template <std::size_t TIdx, typename TField>
183183
void operator()()
184184
{
185-
#if COMMS_IS_MSVC
185+
#if COMMS_IS_MSVC_2025_OR_BELOW
186186
// VS compiler
187187
m_func.operator()<TIdx>(*(reinterpret_cast<TField*>(m_storage)));
188-
#else // #if COMMS_IS_MSVC
188+
#else // #if COMMS_IS_MSVC_2025_OR_BELOW
189189
m_func.template operator()<TIdx>(*(reinterpret_cast<TField*>(m_storage)));
190-
#endif // #if COMMS_IS_MSVC
190+
#endif // #if COMMS_IS_MSVC_2025_OR_BELOW
191191
}
192192
private:
193193
void* m_storage = nullptr;
@@ -206,12 +206,12 @@ class VariantConstExecHelper
206206
template <std::size_t TIdx, typename TField>
207207
void operator()()
208208
{
209-
#if COMMS_IS_MSVC
209+
#if COMMS_IS_MSVC_2025_OR_BELOW
210210
// VS compiler
211211
m_func.operator()<TIdx>(*(reinterpret_cast<const TField*>(m_storage)));
212-
#else // #if COMMS_IS_MSVC
212+
#else // #if COMMS_IS_MSVC_2025_OR_BELOW
213213
m_func.template operator()<TIdx>(*(reinterpret_cast<const TField*>(m_storage)));
214-
#endif // #if COMMS_IS_MSVC
214+
#endif // #if COMMS_IS_MSVC_2025_OR_BELOW
215215
}
216216
private:
217217
const void* m_storage = nullptr;

include/comms/util/Tuple.h

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -350,12 +350,12 @@ struct TupleForEachTypeHelper
350350
static constexpr bool NextHasElems = (NextRem != 0U);
351351

352352
using ElemType = typename std::tuple_element<Idx, Tuple>::type;
353-
#if COMMS_IS_MSVC
353+
#if COMMS_IS_MSVC_2025_OR_BELOW
354354
// VS compiler
355355
func.operator()<ElemType>();
356-
#else // #if COMMS_IS_MSVC
356+
#else // #if COMMS_IS_MSVC_2025_OR_BELOW
357357
func.template operator()<ElemType>();
358-
#endif // #if COMMS_IS_MSVC
358+
#endif // #if COMMS_IS_MSVC_2025_OR_BELOW
359359
TupleForEachTypeHelper<NextHasElems>::template exec<NextRem, TTuple>(
360360
std::forward<TFunc>(func));
361361
}
@@ -477,12 +477,12 @@ struct TupleForEachWithTemplateParamIdxHelper
477477
static constexpr std::size_t NextRem = TRem - 1;
478478
static constexpr bool NextHasElems = (NextRem != 0U);
479479

480-
#if COMMS_IS_MSVC
480+
#if COMMS_IS_MSVC_2025_OR_BELOW
481481
// VS compiler
482482
func.operator()<Idx>(std::get<Idx>(std::forward<TTuple>(tuple)));
483-
#else // #if COMMS_IS_MSVC
483+
#else // #if COMMS_IS_MSVC_2025_OR_BELOW
484484
func.template operator()<Idx>(std::get<Idx>(std::forward<TTuple>(tuple)));
485-
#endif // #if COMMS_IS_MSVC
485+
#endif // #if COMMS_IS_MSVC_2025_OR_BELOW
486486
TupleForEachWithTemplateParamIdxHelper<NextHasElems>::template exec<NextRem>(
487487
std::forward<TTuple>(tuple),
488488
std::forward<TFunc>(func));
@@ -643,11 +643,11 @@ class TupleTypeAccumulateHelper
643643
static_assert((TOff + TRem) <= std::tuple_size<Tuple>::value, "Incorrect TRem");
644644

645645
return TupleTypeAccumulateHelper<(1U < TRem)>::template exec<TOff + 1, TRem - 1, Tuple>(
646-
#if COMMS_IS_MSVC
646+
#if COMMS_IS_MSVC_2025_OR_BELOW
647647
func.operator()
648-
#else // #if COMMS_IS_MSVC
648+
#else // #if COMMS_IS_MSVC_2025_OR_BELOW
649649
func.template operator()
650-
#endif // #if COMMS_IS_MSVC
650+
#endif // #if COMMS_IS_MSVC_2025_OR_BELOW
651651
<typename std::tuple_element<TOff, Tuple>::type>(value),
652652
std::forward<TFunc>(func));
653653
}
@@ -763,12 +763,12 @@ struct TupleSelectedTypeHelper<false>
763763
static_cast<void>(idx);
764764
COMMS_ASSERT(idx == TFromIdx);
765765
using ElemType = typename std::tuple_element<TFromIdx, TTuple>::type;
766-
#if COMMS_IS_MSVC
766+
#if COMMS_IS_MSVC_2025_OR_BELOW
767767
// VS compiler
768768
func.operator()<TFromIdx, ElemType>();
769-
#else // #if COMMS_IS_MSVC
769+
#else // #if COMMS_IS_MSVC_2025_OR_BELOW
770770
func.template operator()<TFromIdx, ElemType>();
771-
#endif // #if COMMS_IS_MSVC
771+
#endif // #if COMMS_IS_MSVC_2025_OR_BELOW
772772
}
773773
};
774774

@@ -948,12 +948,12 @@ class TupleTypeIsAnyOfHelper
948948
static_assert(TRem <= std::tuple_size<Tuple>::value, "Incorrect TRem");
949949
using ElemType = typename std::tuple_element<std::tuple_size<Tuple>::value - TRem, Tuple>::type;
950950
return
951-
#if COMMS_IS_MSVC
951+
#if COMMS_IS_MSVC_2025_OR_BELOW
952952
// VS compiler
953953
func.operator()<ElemType>() ||
954-
#else // #if COMMS_IS_MSVC
954+
#else // #if COMMS_IS_MSVC_2025_OR_BELOW
955955
func.template operator()<ElemType>() ||
956-
#endif // #if COMMS_IS_MSVC
956+
#endif // #if COMMS_IS_MSVC_2025_OR_BELOW
957957
TupleTypeIsAnyOfHelper<1U < TRem>::template check<TRem - 1, TTuple>(
958958
std::forward<TFunc>(func));
959959
}

include/comms/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#define COMMS_MINOR_VERSION 5U
2020

2121
/// @brief Patch level of the library
22-
#define COMMS_PATCH_VERSION 1U
22+
#define COMMS_PATCH_VERSION 2U
2323

2424
/// @brief Macro to create numeric version as single unsigned number
2525
#define COMMS_MAKE_VERSION(major_, minor_, patch_) \

0 commit comments

Comments
 (0)