------- Comment #4 from burnus at gcc dot gnu dot org 2007-12-15 21:03 ------- As jerry pointed out on IRC, the default integer size could be 8, which explains the result. Try instead:
print *, real(z'FFFFFFFF', 4) print *, transfer(4294967295_8, 0.0_4) print '(z12)', transfer(real(z'FFFFFFFF',4), 1_4) print *, transfer(2143289344_8, 0.0_4) print '(z12)', transfer(real(z'7FC00000',4), 1_4) print *, real(z'7FC00000',4) END -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34482