mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-17 15:26:41 +00:00

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
15 lines
757 B
Fortran
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
|