FIX: LOC Fails on Double COMPLEX Structure Element

ID: Q112341


The information in this article applies to:
  • Microsoft FORTRAN PowerStation for MS-DOS, versions 1.0, 1.0a
  • Microsoft Fortran Powerstation 32 for Windows NT, version 1.0


SYMPTOMS

Using the LOC intrinsic function to return the address of a COMPLEX*16 structure variable results in an address of 0 (zero).


RESOLUTION

Use the LOC function on a different type of field in the structure and then calculate the address of the DOUBLE PRECISION COMPLEX field. If necessary, create a UNION block to map a different variable type to the double COMPLEX element.


STATUS

Microsoft has confirmed this to be a problem in FORTRAN PowerStation for Windows NT, version 1.0 and for MS-DOS, versions 1.0 and 1.0a. This problem was corrected in FORTRAN PowerStation 32, version 4.0.


MORE INFORMATION

The following sample illustrates the problem:

Sample Code


c Compile options needed: none
c
      structure /nest/ 
        double complex tests
      end structure

      record /nest/ t
      t.tests=(0.,0.)
      i = loc(t.tests)
      print10, 'loc(t.tests)          ', i,i
10    format(1x,a,i8,3x,z)
      end 

Additional query words: 1.00 1.00a

Keywords : kbFortranPS kbLangFortran
Version : :1.0,1.0a
Platform : MS-DOS NT WINDOWS
Issue type :


Last Reviewed: November 2, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.