On Tue, Oct 03, 2023 at 10:49:12AM +0200, René Scharfe wrote:
Am 21.09.23 um 12:40 schrieb Oswald Buddenhagen:
On Wed, Sep 20, 2023 at 10:18:10AM +0200, René Scharfe wrote:
If we base it on type size then we're making assumptions that I
find hard to justify.
the only one i can think of is signedness. i think this can be safely
ignored as long as we use only small positive integers.
I don't fully understand the pointer-sign warning, so I'm not
confident enough to silence it.
in theory, differently signed integers may have completely different
binary representations. but afaik, that only ever mattered for negative
numbers. and c++20 actually codifies two's complement, which was the
de-facto standard for decades already.
so in practice it just means that we may be assigning a value that is
outside the range of the actual type. but small positive values are
compatible between signed and unsiged types.
regards