Peter Klausler 41a964cff0 [flang] Settle ambiguity between C795 and C721
C721 says that a type parameter value of '*' is permitted in the type-spec
for a named constant; C795 says that such type parameters are allowed
in type-specs only for a few kinds of things, not including named
constants.  The interpretation seems to depend on context, with C721
applying to intrinsic types (i.e., character) and C795 applying only
to derived types.

Differential Revision: https://reviews.llvm.org/D146586
2023-03-27 17:37:30 -07:00

15 lines
757 B
Fortran

! RUN: %python %S/test_errors.py %s %flang_fc1
! C726 The length specified for a character statement function or for a
! statement function dummy argument of type character shall be a constant
! expression.
subroutine s()
implicit character(len=3) (c)
implicit character(len=*) (d)
stmtFunc1 (x) = x * 32
cStmtFunc2 (x) = "abc"
!ERROR: An assumed (*) type parameter may be used only for a (non-statement function) dummy argument, associate name, character named constant, or external function result
cStmtFunc3 (dummy) = "abc"
!ERROR: An assumed (*) type parameter may be used only for a (non-statement function) dummy argument, associate name, character named constant, or external function result
dStmtFunc3 (x) = "abc"
end subroutine s