http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48720
Jerry DeLisle <jvdelisle at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jvdelisle at gcc dot | |gnu.org --- Comment #2 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2011-04-22 02:21:43 UTC --- Try this: real(16) :: x x = 1.1q0_16 write(*,*) x end I think we are not handling the 'q' as any more than an exponent marker. 'e' works just as well. I would suggest updating your syntax a bit to something like this: integer, parameter :: wp = 16 real(wp) :: x x = 1.1e0_wp ! or just x = 1.1_wp write(*,*) x end Of course I am getting a little off topic. I don't think 'q' is standard conforming. (maybe I am wrong)