xref: /llvm-project/flang/test/Semantics/kinds04_q10.f90 (revision d1d952c206efc3a651270c69331b180330ac3efc)
1! RUN: %python %S/test_errors.py %s %flang_fc1
2! C716 If both kind-param and exponent-letter appear, exponent-letter
3! shall be E. (As an extension we also allow an exponent-letter which matches
4! the kind-param)
5! C717 The value of kind-param shall specify an approximation method that
6! exists on the processor.
7
8subroutine s(var)
9  real :: realvar1 = 4.0E6_4
10  real :: realvar2 = 4.0D6
11  real :: realvar3 = 4.0Q6
12  !PORTABILITY: Explicit kind parameter together with non-'E' exponent letter is not standard
13  real :: realvar4 = 4.0D6_8
14  !WARNING: Explicit kind parameter on real constant disagrees with exponent letter 'q'
15  real :: realvar5 = 4.0Q6_10
16  !PORTABILITY: Explicit kind parameter together with non-'E' exponent letter is not standard
17  real :: realvar6 = 4.0Q6_16
18  real :: realvar7 = 4.0E6_8
19  real :: realvar8 = 4.0E6_10
20  real :: realvar9 = 4.0E6_16
21  !ERROR: Unsupported REAL(KIND=32)
22  real :: realvar10 = 4.0E6_32
23
24  double precision :: doublevar1 = 4.0E6_4
25  double precision :: doublevar2 = 4.0D6
26  double precision :: doublevar3 = 4.0Q6
27  !PORTABILITY: Explicit kind parameter together with non-'E' exponent letter is not standard
28  double precision :: doublevar4 = 4.0D6_8
29  !PORTABILITY: Explicit kind parameter together with non-'E' exponent letter is not standard
30  double precision :: doublevar5 = 4.0Q6_16
31  double precision :: doublevar6 = 4.0E6_8
32  double precision :: doublevar7 = 4.0E6_10
33  double precision :: doublevar8 = 4.0E6_16
34  !ERROR: Unsupported REAL(KIND=32)
35  double precision :: doublevar9 = 4.0E6_32
36end subroutine s
37