FIX: L2029 with RAISEQQ Caused by INTERFACE in FLIB.FI

ID: Q83646


The information in this article applies to:
  • Microsoft FORTRAN for MS-DOS, version 5.1
  • Microsoft FORTRAN for OS/2, version 5.1


SYMPTOMS

Code compiled with Microsoft FORTRAN 5.1 that contains a call to the RAISEQQ function may cause the linker to generate the following error:

error L2029: 'RAISEQQ' : unresolved external


CAUSE

The interface file FLIB.FI contains an incorrect entry for the RAISEQQ function. The INTERFACE statement below, contained within the FLIB.FI file, fails to alias the function _raise included in the run-time library:


      INTERFACE TO INTEGER*2 FUNCTION RAISEQQ(SIGNAL)
      INTEGER*2 SIGNAL [valve]
      END 


RESOLUTION

Edit the RAISEQQ INTERFACE statement in the file FLIB.FI to correctly alias the function _raise. The INTERFACE to the RAISEQQ function should then resemble the following:


      INTERFACE TO INTEGER*2 FUNCTION RAISEQQ[c,loadds,alias:'_raise']
     +                                       (SIGNAL)
      INTEGER*2 SIGNAL[valve]
      END 


STATUS

Microsoft has confirmed this to be a problem in Microsoft FORTRAN version 5.1 for MS-DOS and OS/2. This problem was corrected in FORTRAN PowerStation.


MORE INFORMATION

Sample Code #1

The following program will generate the L2029 link error:

     include 'flib.fi'

      program testraiseqq
      include 'flib.fd'

      integer*2 returnval

      a=1.0  ! Need this to initialize floating point run-time
      returnval = raiseqq(sig$fpe)
      print*, 'failed to terminate, return value is: ',returnval
      end 

Additional query words: 5.10

Keywords :
Version : :5.1
Platform :
Issue type :


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