https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90885
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
read_bytes(&f, (char *) &(val),
( (n < (2 ^ 8)) ? 1 :
( (n < (2 ^ 16)) ? 2 :
( (n < (2 ^ 24)) ? 3 :
4 ) ) ) );
