Microsoft KB Archive/117887

= PRB: L1035 Linking MOVE Application Using a Fastcall Function =

Article ID: 117887

Article Last Modified on 9/30/2003

-

APPLIES TO


 * Microsoft LINK for MS-DOS 5.3
 * Microsoft LINK for MS-DOS 5.31
 * Microsoft LINK for MS-DOS 5.5
 * Microsoft LINK for MS-DOS 5.6

-



This article was previously published under Q117887



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 

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 KB117887

-

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

© Microsoft Corporation. All rights reserved.