On 28/01/2021 6:03 am, Edward Diener wrote:
Assumptions about alignment, endianness and overflow semantics and FP specifics are also not limited to lower level libraries and tend to crop up at any level.
Granted ! But I think that the vast majority of Boost libraries do not deal in these issues. For the ones that do testing with different platform/architecturs is important.
The size of int, long, pointers, size_t, and time_t (among others) are implementation-defined, as well as such common shortcuts as ((uint32_t) -1) assumed equivalent to 0xFFFFFFFFu (which is not guaranteed), and to some extent casting between signed and unsigned integers in general. It's basically impossible to write any non-contrived C/C++ code that doesn't rely on implementation-defined behaviour *somewhere*. As such it seems like a good idea to test on as many implementations as reasonably feasible.