Assumed-Sized Array Declarator Not Allowed in COMMON (37544)
The information in this article applies to:
- Microsoft FORTRAN Compiler for MS-DOS 4.0
- Microsoft FORTRAN Compiler for MS-DOS 4.01
- Microsoft FORTRAN Compiler for MS-DOS 4.1
- Microsoft FORTRAN Compiler for MS-DOS 5.0
- Microsoft FORTRAN Compiler for MS-DOS 5.1
- Microsoft FORTRAN compiler for OS/2 4.1
- Microsoft FORTRAN compiler for OS/2 5.0
- Microsoft FORTRAN compiler for OS/2 5.1
- Microsoft FORTRAN PowerStation for MS-DOS 1.0
- Microsoft FORTRAN PowerStation for MS-DOS 1.0a
- Microsoft Fortran Powerstation 32 for Windows NT 1.0
- Microsoft Fortran Powerstation 32 for Windows NT 4.0
This article was previously published under Q37544 SUMMARY
In a COMMON block, an array must be declared with explicit dimensions;
it cannot have an adjustable or assumed size. According to the ANSI
FORTRAN standard (ANSI x3.9-1978, section 5.1.2), each array
declarator is either an actual array declarator or a dummy array
declarator. An adjustable-size array declarator and an assumed-size
array declarator are dummy array declarators. A dummy array declarator
is not permitted in a COMMON statement. Therefore, an adjustable-sized
or an assumed-size array cannot be declared in a COMMON block.
In an application, one subprogram can pass an array as an argument to
a subprogram and declare the argument with a dummy array declarator in
a DIMENSION statement.
Sample Code
C Compiler options required: If array R has HUGE size,
C specify the HUGE attribute on R or the /AH compiler option switch.
PROGRAM TEST
COMMON R(32000)
CALL DOIT(R)
END
SUBROUTINE DOIT (R)
DIMENSION R[HUGE](*)
RETURN
END
Modification Type: | Major | Last Reviewed: | 12/1/2003 |
---|
Keywords: | kbLangFortran KB37544 |
---|
|