1! { dg-do run }
2! { dg-options "-fdec" }
3!
4! Test support for providing a default exponent of zero when unspecified in
5! real constants with -fdec.
6!
7
8subroutine asserteq (rexp, ract, msg)
9  real, intent(in) :: rexp, ract
10  character(*), intent(in) :: msg
11  if (rexp .ne. ract) then
12    write (*, '(A,F12.6,F12.6)') msg, rexp, ract
13    STOP 1
14  endif
15end subroutine
16
17implicit none
18
19real, parameter :: r1 = 8e0
20real, parameter :: r2 = 8e ! { equivalent to 8e0 }
21real, volatile :: r3, r4
22character(2) :: s
23r3 = 8e ! { equivalent to 8e0 }
24s = '8e'
25
26read (s, *) r4
27
28call asserteq (r1, r2, "[const]")
29call asserteq (r1, r3, "[vol. ]")
30call asserteq (r1, r4, "[read ]")
31
32r4 = 8e + 48e
33call asserteq (56e, r4, "[sum ]")
34
35end
36