https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92642
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Jonny Grant from comment #4) > This test case for similar does have a nice warning. > > Interestingly, G++ does not indicate that 5147483647 is already 34 bits long: > 100110010110100000101110111111111 > which is more than an 'int' (32bit) which as Jonathan has highlighted, to be > the way numbers are treated in C/C++ when they do not have UL suffix. C changed with C99 and C++ changed with C++11 (IIRC) when it comes to literals.