Is there a strictly conforming way to get a bit-pattern of all ones for an integer in C, without relying on implementation-defined behavior?
On many architectures I can expect -1 and the UINT_MAX family to give such a bit pattern; how portable is this assumption?
Extremely portable. The C23 standard disallows integer representations that are not 2's complement, so then it will be guaranteed portable.
~0or~0Ushould always work.