http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48720
--- Comment #6 from Steve Kargl <sgk at troutmask dot apl.washington.edu> 2011-04-22 15:16:02 UTC --- On Fri, Apr 22, 2011 at 08:00:33AM -0700, Steve Kargl wrote: > On Fri, Apr 22, 2011 at 12:47:03PM +0000, jvdelisle at frontier dot com wrote: > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48720 > > > > --- Comment #4 from jvdelisle at frontier dot com 2011-04-22 12:46:16 UTC > > --- > > On 04/21/2011 09:08 PM, kargl at gcc dot gnu.org wrote: > > --- snip --- > > >> > > >> I think we are not handling the 'q' as any more than an exponent marker. > > >> 'e' > > >> works just as well. > > > > > > Oh my, is gfortran accepting 1.1q0. Let's stop that > > > right now! Use 1.1e0_16. > > > > > > > Agree, and its in the front end somewhere. > > > > It's match_real_constant in primary.c. > > I suppose that question is do we want to disallow q. > Reading the code suggests that there are other problems if we continue to allow q. program foo real(8) d real(16) q q = 1.q0_16 d = 1.d0_8 print *, d, q end program foo troutmask:sgk[203] gfc4x -o z ui.f90 ui.f90:5.13: d = 1.d0_8 1 Error: Real number at (1) has a 'd' exponent and an explicit kind The above is required by the standard, so I think one should also mandate a similar error fro 1.q0_16.