PRB: L1035 Linking MOVE Application Using a Fastcall Function

Last reviewed: July 22, 1997
Article ID: Q117887
5.30 5.31 5.50 5.60 MS-DOS kbtool kbcode kberrmsg kbprb

The information in this article applies to:

  • Microsoft LINK for MS-DOS, versions 5.3, 5.31, 5.5, and 5.6

SYMPTOMS

An attempt to link an application fails and Microsoft LINK generates the following error message:

   fatal error L1035: syntax error in module-definition file

CAUSE

The application is using MOVE overlays and has a function that uses the fastcall calling convention in an overlay. The name of the function is specified in the module-definition (.DEF) file, with the preceding @ character.

RESOLUTION

Enclose the name of the function in the module-definition (.DEF) file in double quotes ("").

MORE INFORMATION

The following sample code can be used to reproduce the problem:

Sample Code

/* Compile options needed: /AM (or /AL) /Gy /Gs
*/

// TEST.C - implementation file

   #include <stdio.h>

   void sub1(void);
   void __fastcall sub2(void);

   void main(void)
   {
        printf("This is main\n");
        sub1();
        sub2();
        printf("This is main, again\n");
   }

   void sub1(void)
   {
        printf("This is sub1\n");
   }

   void __fastcall sub2(void)
   {
        printf("This is sub2\n");
   }

   // TEST.DEF - module-definition file

   NAME TEST.EXE

   FUNCTIONS:1 _sub1
   FUNCTIONS:2 @sub2           ; L1035 Error !
   ; FUNCTIONS:2 "@sub2"       ; use this line to avoid the error


Additional reference words: 5.30 5.50 5.60
KBCategory: kbtool kbcode kberrmsg kbprb
KBSubcategory: MoveOverlay
Keywords : kb16bitonly


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: July 22, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.