On 1/25/2021 4:36 PM, Niall Douglas via Boost wrote:
On 25/01/2021 20:44, Edward Diener via Boost wrote:
I offer all this up as a possibly valid reason why testing a Boost library on some other platform/architecture, other than the usual Intel x64 on Mac/Linux/Windows, is not going to be a big priority for any Boost library developer/maintainer.
I would take the view that over half of all computing devices where C++ is likely to run are ARM or AArch64.
Therefore one ought to be targeting one's code at those preferentially to other architectures.
You're right that for high level libraries, C++ is generally very portable. But for low level libraries, and any high level libraries which depend on those low level libraries, there can be some _very_ nasty surprises e.g. ARM does not implement all of IEEE 754, and ARM is strict about use of acquire-release atomics as well as alignment in a way x64 is not.
Therefore, in my opinion, if your code works well on ARM, it's very likely to work on x64. But the reverse is not true.
Please name the Boost low level libraries which have specific code aimed at the platform/architecture combination. I am not talking about code for just Mac or Linux or Solaris or Windows but code that actually does something different when run on Intel or ARM or AArch64 etc. I still imagine that if such Boost libraries exist there are still very, very few Boost libraries with dependence on such code. I am not arguing that testing on non-Intel is in any way wrong but simply that very, very few libraries should be impacted by different architectures in any way.