Article: Q117887
Product(s): Microsoft Programming Utilities
Version(s): MS-DOS:5.3,5.31,5.5,5.6
Operating System(s): 
Keyword(s): kb16bitonly
Last Modified: 29-OCT-1999
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft LINK for MS-DOS, versions 5.3, 5.31, 5.5, 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 query words: 5.30 5.50 5.60
======================================================================
Keywords          : kb16bitonly 
Technology        : kbAudDeveloper kbZNotKeyword3 kbLINKSearch kbLINK530DOS kbLINK531DOS kbLINK550DOS kbLINK560DOS
Version           : MS-DOS:5.3,5.31,5.5,5.6
=============================================================================