Microsoft KB Archive/37544

= Assumed-Sized Array Declarator Not Allowed in COMMON =

Article ID: 37544

Article Last Modified on 12/1/2003

-

APPLIES TO


 * Microsoft FORTRAN Compiler 4.0
 * Microsoft FORTRAN Compiler 4.01
 * Microsoft FORTRAN Compiler 4.1
 * Microsoft FORTRAN Compiler 5.0
 * Microsoft FORTRAN Compiler 5.1
 * Microsoft FORTRAN Compiler 4.1
 * Microsoft FORTRAN Compiler 5.0
 * Microsoft FORTRAN Compiler 5.1
 * Microsoft FORTRAN PowerStation 1.0 Standard Edition
 * Microsoft Fortran PowerStation 1.0a for MS-DOS
 * Microsoft FORTRAN PowerStation 32
 * Microsoft FORTRAN PowerStation 32

-



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

Additional query words: kbinf 1.00 4.00 4.10 5.00 5.10 assumed-size

Keywords: kblangfortran KB37544

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.