This should make CI consistent on all the compilers we support. Most of
this patch is working around various warnings emitted by GCC in our code
base, which are now being shown when we compile the tests.
After this patch, the whole test suite should be warning free on all
compilers we support and test, except for a few warnings on GCC that
we silence explicitly until we figure out the proper fix for them.
I didn't notice this before. Isn't this just a "bug" on our and/or the standard's part? Shouldn't this be
It is currently specified to take a ptrdiff_t _Sz parameter, but that's surprising, and if it causes compiler warnings, then we should just file an LWG issue to get it changed.
https://eel.is/c++draft/iterator.range#lib:ssize(T_(&array)%5bN%5d)
I'll send an email.
I think we should just preemptively change our _Sz's type to suppress the warning. I don't think the change is detectable by a conforming program.