Microsoft KB Archive/83646

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

Article ID: 83646

Article Last Modified on 10/23/2003

-

APPLIES TO


 * Microsoft FORTRAN Compiler 5.1
 * Microsoft FORTRAN Compiler 5.1

-



This article was previously published under Q83646



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.



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: kbfix KB83646

-

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

© Microsoft Corporation. All rights reserved.