https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119391
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- And #if 1U << 63 #endif or #if 1ULL << 63 #endif is accepted with no diagnostics. So, isn't this valid in C++20 and above since wg21.link/p1236 and invalid otherwise (C++98 .. C++17 and any C)?