https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96859
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org Status|WAITING |NEW --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I think this boils down to: program foo print *, int(o'1234567',2), int(o'1234567',4) end program foo I believe ifort prints 14711 342391 while gfortran prints -18057 342391 Since 01234567 in C is 0x53977, after that is cast to 16-bit integer that should be 0x3977 and thus 14711.