The code sections (in span and util)
// Turn off clang unsafe buffer warnings as all accessed are guarded by runtime checks
#if defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
#endif // defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
and (similarly)
#if defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
#pragma clang diagnostic pop
#endif
fails when compiling with a GCC-based compiler (the STM compiler for an STM32 microcontroller in this case).
The generated error is:
missing binary operator before token "("
I solved this by separating the checks:
// Turn off clang unsafe buffer warnings as all accessed are guarded by runtime checks
#if defined(__clang__)
# if __has_warning("-Wunsafe-buffer-usage")
# pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
# endif // __has_warning("-Wunsafe-buffer-usage")
#endif // defined(__clang__)
There are 4 points that need to be modified:
- span: lines 67 and 855
- util: lines 45 and 163
Thanks for your attention
The code sections (in span and util)
and (similarly)
fails when compiling with a GCC-based compiler (the STM compiler for an STM32 microcontroller in this case).
The generated error is:
missing binary operator before token "("
I solved this by separating the checks:
There are 4 points that need to be modified:
Thanks for your attention