FIX: Incorrect Error on Allocatable Array with Map in Name (73202)



The information in this article applies to:

  • Microsoft FORTRAN Compiler for MS-DOS 5.0
  • Microsoft FORTRAN compiler for OS/2 5.0

This article was previously published under Q73202

SYMPTOMS

If a program contains an allocatable array with the word "map" as the first part of the array name, the following error may be incorrectly generated on the ALLOCATE statement for that array when compiling with Microsoft FORTRAN version 5.0:
error F2115: syntax error
The ALLOCATE statement must allocate at least two arrays, and the array containing "map" as the first part of its name must follow another array in the ALLOCATE statement.

RESOLUTION

The solution to this problem is to avoid the word "map" in the name of an allocatable array, or to upgrade to FORTRAN version 5.1.

STATUS

Microsoft has confirmed this to be a problem in FORTRAN version 5.0. This problem was corrected in FORTRAN version 5.1.

MORE INFORMATION

The following code will cause the incorrect syntax error:

Sample code

      integer*4 map[allocatable](:)
      integer*4 j[allocatable](:)
      allocate ( j(1), map(1) )      ! syntax error generated here
      end
				
Renaming the array will avoid this error. The following program illustrates this solution:
      integer*4 amap[allocatable](:)
      integer*4 j[allocatable](:)
      allocate ( j(1), amap(1) )
      end
				

Modification Type:MajorLast Reviewed:10/23/2003
Keywords:kbfix KB73202