xref: /llvm-project/flang/test/Semantics/resolve37.f90 (revision 502e7690c3c9698a6982a490f6bf92b0fd24d10f)
16c1ac141SIvan Zhechev! RUN: %python %S/test_errors.py %s %flang_fc1
264ab3302SCarolineConcatto! C701 The type-param-value for a kind type parameter shall be a constant
364ab3302SCarolineConcatto! expression.  This constraint looks like a mistake in the standard.
464ab3302SCarolineConcattointeger, parameter :: k = 8
564ab3302SCarolineConcattoreal, parameter :: l = 8.0
664ab3302SCarolineConcattointeger :: n = 2
764ab3302SCarolineConcatto!ERROR: Must be a constant value
864ab3302SCarolineConcattoparameter(m=n)
964ab3302SCarolineConcattointeger(k) :: x
10657aaf8bSPete Steinfeld! C713 A scalar-int-constant-name shall be a named constant of type integer.
1164ab3302SCarolineConcatto!ERROR: Must have INTEGER type, but is REAL(4)
1264ab3302SCarolineConcattointeger(l) :: y
1364ab3302SCarolineConcatto!ERROR: Must be a constant value
1464ab3302SCarolineConcattointeger(n) :: z
1564ab3302SCarolineConcattotype t(k)
1664ab3302SCarolineConcatto  integer, kind :: k
1764ab3302SCarolineConcattoend type
1864ab3302SCarolineConcatto!ERROR: Type parameter 'k' lacks a value and has no default
1964ab3302SCarolineConcattotype(t( &
2064ab3302SCarolineConcatto!ERROR: Must have INTEGER type, but is LOGICAL(4)
2164ab3302SCarolineConcatto  .true.)) :: w
2264ab3302SCarolineConcatto!ERROR: Must have INTEGER type, but is REAL(4)
2364ab3302SCarolineConcattoreal :: u(l*2)
2464ab3302SCarolineConcatto!ERROR: Must have INTEGER type, but is REAL(4)
2564ab3302SCarolineConcattocharacter(len=l) :: v
26641ede93Speter klausler!ERROR: Value of named constant 'o' (o) cannot be computed as a constant value
2764ab3302SCarolineConcattoreal, parameter ::  o = o
28*502e7690SPeter Klausler!WARNING: INTEGER(4) division by zero
2964ab3302SCarolineConcatto!ERROR: Must be a constant value
3064ab3302SCarolineConcattointeger, parameter ::  p = 0/0
31*502e7690SPeter Klausler!WARNING: INTEGER(4) division by zero
3264ab3302SCarolineConcatto!ERROR: Must be a constant value
33*502e7690SPeter Klausler!WARNING: INTEGER(4) division by zero
34*502e7690SPeter Klausler!WARNING: INTEGER(4) division by zero
35*502e7690SPeter Klausler!WARNING: INTEGER(4) division by zero
3664ab3302SCarolineConcattointeger, parameter ::  q = 1+2*(1/0)
3762b127eeSJean Perierinteger not_constant
3862b127eeSJean Perier!ERROR: Must be a constant value
3962b127eeSJean Perierinteger, parameter :: s1 = not_constant/2
4062b127eeSJean Perier!ERROR: Must be a constant value
4162b127eeSJean Perierinteger, parameter :: s2 = 3/not_constant
42*502e7690SPeter Klausler!WARNING: INTEGER(4) division by zero
4364ab3302SCarolineConcatto!ERROR: Must be a constant value
4464ab3302SCarolineConcattointeger(kind=2/0) r
4564ab3302SCarolineConcattointeger, parameter :: sok(*)=[1,2]/[1,2]
46*502e7690SPeter Klausler!WARNING: INTEGER(4) division by zero
4764ab3302SCarolineConcatto!ERROR: Must be a constant value
4864ab3302SCarolineConcattointeger, parameter :: snok(*)=[1,2]/[1,0]
4964ab3302SCarolineConcattoend
50