浏览代码

* merged Wiktor's Watcom patches in 1.1

florian 22 年之前
父节点
当前提交
22f1ff8da4

+ 11 - 1
compiler/catch.pas

@@ -29,6 +29,9 @@ Unit catch;
   { go32v2 stack check goes nuts if ss is not the data selector (PM) }
   {$S-}
 {$endif}
+{$ifdef watcom} // wiktor: pewnei nie potrzeba
+  {$S-}
+{$endif}
 
 {$ifdef DEBUG}
   {$define NOCATCH}
@@ -47,6 +50,10 @@ uses
  {$endif}
 {$endif}
 {$ifdef go32v2}
+{$define has_signal}
+  dpmiexcp,
+{$endif}
+{$ifdef watcom}
   {$define has_signal}
   dpmiexcp,
 {$endif}
@@ -109,7 +116,10 @@ end.
 
 {
   $Log$
-  Revision 1.13  2003-04-23 10:10:31  peter
+  Revision 1.14  2003-09-05 17:41:12  florian
+    * merged Wiktor's Watcom patches in 1.1
+
+  Revision 1.13  2003/04/23 10:10:31  peter
     * unix signalhandler has longint argument
 
   Revision 1.12  2003/01/10 21:37:48  marco

+ 8 - 1
compiler/compiler.pas

@@ -117,6 +117,10 @@ uses
   {$ifdef GO32V2}
     emu387,
   {$endif GO32V2}
+  {$ifdef WATCOM} // wiktor: pewnie nie potrzeba
+    emu387,
+{    dpmiexcp, }
+  {$endif WATCOM}
 {$endif}
 {$ifdef USEEXCEPT}
   tpexcept,
@@ -399,7 +403,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.39  2003-09-03 11:18:36  florian
+  Revision 1.40  2003-09-05 17:41:12  florian
+    * merged Wiktor's Watcom patches in 1.1
+
+  Revision 1.39  2003/09/03 11:18:36  florian
     * fixed arm concatcopy
     + arm support in the common compiler sources added
     * moved some generic cg code around

+ 7 - 1
compiler/fppu.pas

@@ -29,6 +29,9 @@ unit fppu;
 {$ifdef GO32V2}
   {$define SHORT_ON_FILE_HANDLES}
 {$endif GO32V2}
+{$ifdef WATCOM}
+  {$define SHORT_ON_FILE_HANDLES}
+{$endif WATCOM}
 
 interface
 
@@ -1418,7 +1421,10 @@ uses
 end.
 {
   $Log$
-  Revision 1.38  2003-08-23 22:29:24  peter
+  Revision 1.39  2003-09-05 17:41:12  florian
+    * merged Wiktor's Watcom patches in 1.1
+
+  Revision 1.38  2003/08/23 22:29:24  peter
     * reload flagged units when interface is loaded
 
   Revision 1.37  2003/06/08 11:40:14  peter

+ 13 - 1
compiler/globals.pas

@@ -1103,6 +1103,10 @@ implementation
 {$ifdef go32v2}
       var
         hs : string;
+{$endif}
+{$ifdef watcom}
+      var
+        hs : string;
 {$endif}
       begin
         GetShortName:=n;
@@ -1119,6 +1123,11 @@ implementation
         hs:=n;
         if Dos.GetShortName(hs) then
          GetShortName:=hs;
+{$endif}
+{$ifdef watcom}
+        hs:=n;
+        if Dos.GetShortName(hs) then
+         GetShortName:=hs;
 {$endif}
       end;
 
@@ -1602,7 +1611,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.94  2003-09-04 21:37:29  olle
+  Revision 1.95  2003-09-05 17:41:12  florian
+    * merged Wiktor's Watcom patches in 1.1
+
+  Revision 1.94  2003/09/04 21:37:29  olle
     + added new lagnuage mode: MAC
 
   Revision 1.93  2003/09/03 11:18:36  florian

+ 54 - 13
compiler/i386/ag386int.pas

@@ -171,6 +171,21 @@ implementation
               AsmWrite(symbol.name);
               first:=false;
             end;
+           if (aktoutputformat = as_i386_wasm) then
+            begin
+              if offset<0 then
+              begin
+                AsmWrite(tostr(offset));
+                first:=false;
+              end
+              else if (offset>0) then
+              begin
+                if not first then
+                  AsmWrite('+');
+                AsmWrite(tostr(offset));
+                first:=false;
+              end;
+            end;
            if (base<>NR_NO) then
             begin
               if not(first) then
@@ -189,16 +204,19 @@ implementation
               if scalefactor<>0 then
                AsmWrite('*'+tostr(scalefactor));
             end;
-           if offset<0 then
-            begin
-              AsmWrite(tostr(offset));
-              first:=false;
-            end
-           else if (offset>0) then
-            begin
-              AsmWrite('+'+tostr(offset));
-              first:=false;
-            end;
+           if (aktoutputformat <> as_i386_wasm) then
+             begin
+               if offset<0 then
+                begin
+                  AsmWrite(tostr(offset));
+                  first:=false;
+                end
+               else if (offset>0) then
+                begin
+                  AsmWrite('+'+tostr(offset));
+                  first:=false;
+                end;
+             end;
            if first then
              AsmWrite('0');
            AsmWrite(']');
@@ -729,7 +747,7 @@ ait_stab_function_name : ;
       begin
         if tasmsymbol(p).defbind=AB_EXTERNAL then
           begin
-            if (aktoutputformat = as_i386_masm) then
+            if (aktoutputformat in [as_i386_masm,as_i386_wasm]) then
               currentasmlist.AsmWriteln(#9'EXTRN'#9+p.name
                 +': NEAR')
             else
@@ -749,7 +767,7 @@ ait_stab_function_name : ;
     begin
       DoAssemble:=Inherited DoAssemble;
       { masm does not seem to recognize specific extensions and uses .obj allways PM }
-      if (aktoutputformat = as_i386_masm) then
+      if (aktoutputformat in [as_i386_masm,as_i386_wasm]) then
         begin
           if not(cs_asm_extern in aktglobalswitches) then
             begin
@@ -848,13 +866,36 @@ ait_stab_function_name : ;
               '','','')
           );
 
+       as_i386_wasm_info : tasminfo =
+          (
+            id     : as_i386_wasm;
+            idtxt  : 'WASM';
+            asmbin : 'wasm';
+            asmcmd : '$ASM -5s -fpc -fp3 -ms -zq -Fo=$OBJ';
+            supported_target : system_any; { what should I write here ?? }
+            outputbinary: false;
+            allowdirect : true;
+            needar : true;
+            labelprefix_only_inside_procedure : false;
+            labelprefix : '@@';
+            comment : '; ';
+            secnames : ('',
+              'CODE','DATA','BSS',
+              '','','','','','',
+              '','','')
+          );
+
 initialization
   RegisterAssembler(as_i386_tasm_info,T386IntelAssembler);
   RegisterAssembler(as_i386_masm_info,T386IntelAssembler);
+  RegisterAssembler(as_i386_wasm_info,T386IntelAssembler);
 end.
 {
   $Log$
-  Revision 1.37  2003-09-03 15:55:01  peter
+  Revision 1.38  2003-09-05 17:41:13  florian
+    * merged Wiktor's Watcom patches in 1.1
+
+  Revision 1.37  2003/09/03 15:55:01  peter
     * NEWRA branch merged
 
   Revision 1.36.2.3  2003/08/31 15:46:26  peter

+ 7 - 1
compiler/i386/cputarg.pas

@@ -66,6 +66,9 @@ implementation
     {$ifndef NOTARGETWDOSX}
       ,t_wdosx
     {$endif}
+    {$ifndef NOTARGETWATCOM}
+      ,t_watcom
+    {$endif}
 
 {**************************************
              Assemblers
@@ -88,7 +91,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.12  2003-05-20 23:54:00  florian
+  Revision 1.13  2003-09-05 17:41:13  florian
+    * merged Wiktor's Watcom patches in 1.1
+
+  Revision 1.12  2003/05/20 23:54:00  florian
     + basic darwin support added
 
   Revision 1.11  2003/04/25 12:04:31  florian

+ 2 - 0
compiler/msg/errore.msg

@@ -2152,6 +2152,7 @@ option_help_pages=11025_[
 3*2Aas_assemble using GNU AS
 3*2Anasmcoff_coff (Go32v2) file using Nasm
 3*2Anasmelf_elf32 (Linux) file using Nasm
+3*2Awasm_obj file using Wasm (Watcom)
 3*2Anasmobj_obj file using Nasm
 3*2Amasm_obj file using Masm (Microsoft)
 3*2Atasm_obj file using Tasm (Borland)
@@ -2176,6 +2177,7 @@ option_help_pages=11025_[
 3*1T<x>_Target operating system:
 3*2TEMX_OS/2 via EMX (including EMX/RSX extender)
 3*2TGO32V2_Version 2 of DJ Delorie DOS extender
+3*2TWATCOM_Watcom compatible DOS extender
 3*2TLINUX_Linux
 3*2TNETWARE_Novell Netware Module (clib)
 3*2TOS2_OS/2 / eComStation

+ 2 - 0
compiler/msg/errorpl.msg

@@ -1986,6 +1986,7 @@ option_help_pages=11025_[
 3*2Anasmobj_plik obj przy u¾yciu Nasm
 3*2Amasm_plik obj przy u¾yciu Masm (Microsoft)
 3*2Atasm_plik obj przy u¾yciu Tasm (Borland)
+3*2Atasm_plik obj przy u¾yciu Wasm (Watcom)
 3*2Acoff_bezpo˜redni zapis do pliku coff (Go32v2)
 3*2Apecoff_bezpo˜redni zapis do pliku pecoff (Win32)
 3*1R<x>_styl zapisu asemblera:
@@ -2009,6 +2010,7 @@ option_help_pages=11025_[
 3*2TFREEBSD_FreeBSD
 3*2TGO32V1_DOS extender DJ Delorie wersja 1
 3*2TGO32V2_DOS extender DJ Delorie wersja 2
+3*2TWATCOM_DOS extendery zgodne z Watcomem
 3*2TLINUX_Linux
 3*2TNETBSD_NetBSD
 3*2TOPENBSD_OpenBSD(a.out)

+ 2 - 0
compiler/msg/errorpli.msg

@@ -1986,6 +1986,7 @@ option_help_pages=11025_[
 3*2Anasmobj_plik obj przy użyciu Nasm
 3*2Amasm_plik obj przy użyciu Masm (Microsoft)
 3*2Atasm_plik obj przy użyciu Tasm (Borland)
+3*2Awasm_plik obj przy użyciu Wasm (Watcom)
 3*2Acoff_bezpośredni zapis do pliku coff (Go32v2)
 3*2Apecoff_bezpośredni zapis do pliku pecoff (Win32)
 3*1R<x>_styl zapisu asemblera:
@@ -2009,6 +2010,7 @@ option_help_pages=11025_[
 3*2TFREEBSD_FreeBSD
 3*2TGO32V1_DOS extender DJ Delorie wersja 1
 3*2TGO32V2_DOS extender DJ Delorie wersja 2
+3*2TWATCOM_DOS extendery zgodne z Watcomem
 3*2TLINUX_Linux
 3*2TNETBSD_NetBSD
 3*2TOPENBSD_OpenBSD(a.out)

+ 1 - 1
compiler/msgidx.inc

@@ -628,7 +628,7 @@ const
   option_info=11024;
   option_help_pages=11025;
 
-  MsgTxtSize = 35254;
+  MsgTxtSize = 35334;
 
   MsgIdxMax : array[1..20] of longint=(
     17,63,195,52,57,44,98,19,35,60,

+ 23 - 21
compiler/msgtxt.inc

@@ -1,7 +1,7 @@
 {$ifdef Delphi}
-const msgtxt : array[0..000146] of string[240]=(
+const msgtxt : array[0..000147] of string[240]=(
 {$else Delphi}
-const msgtxt : array[0..000146,1..240] of char=(
+const msgtxt : array[0..000147,1..240] of char=(
 {$endif Delphi}
   '01000_T_Compiler: $1'#000+
   '01001_D_Compiler OS: $1'#000+
@@ -793,58 +793,60 @@ const msgtxt : array[0..000146,1..240] of char=(
   '3*2Aas_assemble using GNU AS'#010+
   '3*2Anasmcoff_coff (Go32v2) file using Nasm'#010+
   '3*2Anasmelf_elf32 (Linux) file using Nasm'#010+
+  '3*2Awasm_obj file using Wasm (Watcom)'#010+
   '3*2Anasmobj_obj file using Nasm'#010+
-  '3*2Amasm_obj file using Masm (Microsoft)'#010+
-  '3*2Atasm_ob','j file using Tasm (Borland)'#010+
+  '3*2Amasm_obj f','ile using Masm (Microsoft)'#010+
+  '3*2Atasm_obj file using Tasm (Borland)'#010+
   '3*2Acoff_coff (Go32v2) using internal writer'#010+
   '3*2Apecoff_pecoff (Win32) using internal writer'#010+
   '3*1R<x>_assembler reading style:'#010+
   '3*2Ratt_read AT&T style assembler'#010+
-  '3*2Rintel_read Intel style assembler'#010+
-  '3*2Rdirect_copy',' assembler text directly to assembler file'#010+
+  '3*2Rintel_read',' Intel style assembler'#010+
+  '3*2Rdirect_copy assembler text directly to assembler file'#010+
   '3*1O<x>_optimizations:'#010+
   '3*2Og_generate smaller code'#010+
   '3*2OG_generate faster code (default)'#010+
   '3*2Or_keep certain variables in registers'#010+
-  '3*2Ou_enable uncertain optimizations (see docs)'#010+
-  '3*2O1_level 1 optim','izations (quick optimizations)'#010+
+  '3*2Ou_enable uncertain optimi','zations (see docs)'#010+
+  '3*2O1_level 1 optimizations (quick optimizations)'#010+
   '3*2O2_level 2 optimizations (-O1 + slower optimizations)'#010+
   '3*2O3_level 3 optimizations (-O2 repeatedly, max 5 times)'#010+
   '3*2Op<x>_target processor:'#010+
-  '3*3Op1_set target processor to 386/486'#010+
-  '3*3Op2_set target processor ','to Pentium/PentiumMMX (tm)'#010+
+  '3*3Op1_set target processor t','o 386/486'#010+
+  '3*3Op2_set target processor to Pentium/PentiumMMX (tm)'#010+
   '3*3Op3_set target processor to PPro/PII/c6x86/K6 (tm)'#010+
   '3*1T<x>_Target operating system:'#010+
   '3*2TEMX_OS/2 via EMX (including EMX/RSX extender)'#010+
-  '3*2TGO32V2_Version 2 of DJ Delorie DOS extender'#010+
+  '3*2TGO32V2_Version 2 of DJ Delorie DOS',' extender'#010+
+  '3*2TWATCOM_Watcom compatible DOS extender'#010+
   '3*2TLINUX_Linux'#010+
-  '3*2TNETWARE_','Novell Netware Module (clib)'#010+
+  '3*2TNETWARE_Novell Netware Module (clib)'#010+
   '3*2TOS2_OS/2 / eComStation'#010+
   '3*2TSUNOS_SunOS/Solaris'#010+
   '3*2TWDOSX_WDOSX DOS extender'#010+
   '3*2TWIN32_Windows 32 Bit'#010+
-  '3*1W<x>_Win32-like target options'#010+
+  '3*1W<x>_Win32-like target ','options'#010+
   '3*2WB<x>_Set Image base to Hexadecimal <x> value'#010+
-  '3*2WC_Specify console t','ype application'#010+
+  '3*2WC_Specify console type application'#010+
   '3*2WD_Use DEFFILE to export functions of DLL or EXE'#010+
   '3*2WF_Specify full-screen type application (OS/2 only)'#010+
-  '3*2WG_Specify graphic type application'#010+
+  '3*2WG_Specify graphic type applicatio','n'#010+
   '3*2WN_Do not generate relocation code (necessary for debugging)'#010+
-  '3*2WR_Generate',' relocation code'#010+
+  '3*2WR_Generate relocation code'#010+
   '6*1A<x>_output format'#010+
   '6*2Aas_Unix o-file using GNU AS'#010+
   '6*2Agas_GNU Motorola assembler'#010+
   '6*2Amit_MIT Syntax (old GAS)'#010+
-  '6*2Amot_Standard Motorola assembler'#010+
+  '6*2Amot_Standard Motorola ass','embler'#010+
   '6*1O_optimizations:'#010+
   '6*2Oa_turn on the optimizer'#010+
-  '6*2Og_generate smaller co','de'#010+
+  '6*2Og_generate smaller code'#010+
   '6*2OG_generate faster code (default)'#010+
   '6*2Ox_optimize maximum (still BUGGY!!!)'#010+
   '6*2O0_set target processor to a MC68000'#010+
-  '6*2O2_set target processor to a MC68020+ (default)'#010+
+  '6*2O2_set target processor to a MC68020+',' (default)'#010+
   '6*1R<x>_assembler reading style:'#010+
-  '6*2RMOT_read motorola style assemble','r'#010+
+  '6*2RMOT_read motorola style assembler'#010+
   '6*1T<x>_Target operating system:'#010+
   '6*2TAMIGA_Commodore Amiga'#010+
   '6*2TATARI_Atari ST/STe/TT'#010+
@@ -852,6 +854,6 @@ const msgtxt : array[0..000146,1..240] of char=(
   '6*2TLINUX_Linux-68k'#010+
   '6*2TPALMOS_PalmOS'#010+
   '**1*_'#010+
-  '**1?_shows this help'#010+
+  '**1?','_shows this help'#010+
   '**1h_shows this help without waiting'#000
 );

+ 8 - 6
compiler/options.pas

@@ -1851,13 +1851,13 @@ begin
        inputextension:=target_info.pasext;
    end;
 
-{ Add paths specified with parameters to the searchpaths }
+  { Add paths specified with parameters to the searchpaths }
   UnitSearchPath.AddList(option.ParaUnitPath,true);
   ObjectSearchPath.AddList(option.ParaObjectPath,true);
   IncludeSearchPath.AddList(option.ParaIncludePath,true);
   LibrarySearchPath.AddList(option.ParaLibraryPath,true);
 
-{ add unit environment and exepath to the unit search path }
+  { add unit environment and exepath to the unit search path }
   if inputdir<>'' then
    Unitsearchpath.AddPath(inputdir,true);
   if not disable_configfile then
@@ -1906,7 +1906,7 @@ begin
   objectsearchpath.AddList(unitsearchpath,false);
   librarysearchpath.AddList(unitsearchpath,false);
 
-{ switch assembler if it's binary and we got -a on the cmdline }
+  { switch assembler if it's binary and we got -a on the cmdline }
   if (cs_asm_leave in initglobalswitches) and
      (target_asm.outputbinary) then
    begin
@@ -1922,7 +1922,7 @@ begin
      Message1(option_asm_forced,target_asm.idtxt);
    end;
 
-{ turn off stripping if compiling with debuginfo or profile }
+  { turn off stripping if compiling with debuginfo or profile }
   if (cs_debuginfo in initmoduleswitches) or
      (cs_profile in initmoduleswitches) then
     exclude(initglobalswitches,cs_link_strip);
@@ -1956,7 +1956,10 @@ finalization
 end.
 {
   $Log$
-  Revision 1.102  2003-09-03 21:06:05  peter
+  Revision 1.103  2003-09-05 17:41:12  florian
+    * merged Wiktor's Watcom patches in 1.1
+
+  Revision 1.102  2003/09/03 21:06:05  peter
     * powerpc needs software int64 to double
 
   Revision 1.101  2003/09/03 15:55:01  peter
@@ -2143,5 +2146,4 @@ end.
 
   Revision 1.65  2002/04/04 18:39:45  carl
   + added wdosx support (patch from Pavel)
-
 }

+ 6 - 3
compiler/pdecvar.pas

@@ -257,7 +257,7 @@ implementation
                  end
                 { address }
                 else if is_constintnode(pt) and
-                        ((target_info.system=system_i386_go32v2) or
+                        ((target_info.system in [system_i386_go32v2,system_i386_watcom]) or
                          (m_objfpc in aktmodeswitches) or
                          (m_delphi in aktmodeswitches)) then
                  begin
@@ -266,7 +266,7 @@ implementation
                    abssym.abstyp:=toaddr;
                    abssym.absseg:=false;
                    abssym.address:=tordconstnode(pt).value;
-                   if (target_info.system=system_i386_go32v2) and
+                   if (target_info.system in [system_i386_go32v2,system_i386_watcom]) and
                       try_to_consume(_COLON) then
                     begin
                       pt.free;
@@ -601,7 +601,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.48  2003-07-02 22:18:04  peter
+  Revision 1.49  2003-09-05 17:41:12  florian
+    * merged Wiktor's Watcom patches in 1.1
+
+  Revision 1.48  2003/07/02 22:18:04  peter
     * paraloc splitted in callerparaloc,calleeparaloc
     * sparc calling convention updates
 

+ 5 - 2
compiler/pexpr.pas

@@ -1593,7 +1593,7 @@ implementation
                               begin
                                 p2:=comp_expr(true);
                               { support SEG:OFS for go32v2 Mem[] }
-                                if (target_info.system=system_i386_go32v2) and
+                                if (target_info.system in [system_i386_go32v2,system_i386_watcom]) and
                                    (p1.nodetype=loadn) and
                                    assigned(tloadnode(p1).symtableentry) and
                                    assigned(tloadnode(p1).symtableentry.owner.name) and
@@ -2419,7 +2419,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.126  2003-08-23 22:29:51  peter
+  Revision 1.127  2003-09-05 17:41:12  florian
+    * merged Wiktor's Watcom patches in 1.1
+
+  Revision 1.126  2003/08/23 22:29:51  peter
     * fixed static class check for properties
 
   Revision 1.125  2003/08/23 18:41:52  peter

+ 5 - 2
compiler/pmodules.pas

@@ -446,7 +446,7 @@ implementation
           AddUnit('ObjPas');
         { Profile unit? Needed for go32v2 only }
         if (cs_profile in aktmoduleswitches) and
-           (target_info.system=system_i386_go32v2) then
+           (target_info.system in [system_i386_go32v2,system_i386_watcom]) then
           AddUnit('Profile');
         { Units only required for main module }
         if not(current_module.is_unit) then
@@ -1465,7 +1465,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.120  2003-08-23 22:29:24  peter
+  Revision 1.121  2003-09-05 17:41:12  florian
+    * merged Wiktor's Watcom patches in 1.1
+
+  Revision 1.120  2003/08/23 22:29:24  peter
     * reload flagged units when interface is loaded
 
   Revision 1.119  2003/08/21 14:47:41  peter

+ 7 - 1
compiler/pp.pas

@@ -146,6 +146,9 @@ uses
     {$ifdef go32v2}
       catch,
     {$endif}
+    {$ifdef WATCOM}
+      catch,
+    {$endif}
   {$endif NOCATCH}
 {$endif FPC}
   globals,compiler;
@@ -196,7 +199,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.25  2003-09-03 11:18:37  florian
+  Revision 1.26  2003-09-05 17:41:12  florian
+    * merged Wiktor's Watcom patches in 1.1
+
+  Revision 1.25  2003/09/03 11:18:37  florian
     * fixed arm concatcopy
     + arm support in the common compiler sources added
     * moved some generic cg code around

+ 7 - 2
compiler/systems.pas

@@ -113,7 +113,8 @@ interface
              system_i386_EMX,           { 28 }
 	     system_powerpc_netbsd,     { 29 }
     	     system_powerpc_openbsd,    { 30 }
-             system_arm_linux           { 31 }
+             system_arm_linux,          { 31 }
+             system_i386_watcom         { 32 }
        );
 
        tasm = (as_none
@@ -127,6 +128,7 @@ interface
              ,as_i386_nasmobj
              ,as_i386_tasm
              ,as_i386_masm
+             ,as_i386_wasm
              ,as_i386_coff
              ,as_i386_pecoff
              ,as_i386_elf32
@@ -695,7 +697,10 @@ finalization
 end.
 {
   $Log$
-  Revision 1.67  2003-08-08 15:49:24  olle
+  Revision 1.68  2003-09-05 17:41:13  florian
+    * merged Wiktor's Watcom patches in 1.1
+
+  Revision 1.67  2003/08/08 15:49:24  olle
     * merged macos entry/exit code generation into the general one.
 
   Revision 1.66  2003/07/21 11:52:57  florian

+ 5 - 2
compiler/x86/cgx86.pas

@@ -1336,7 +1336,7 @@ unit cgx86;
                 include(rg.used_in_proc_int,RS_EDX);
              end;
 
-           system_i386_go32v2:
+           system_i386_go32v2,system_i386_watcom:
              begin
                a_call_name(list,'MCOUNT');
              end;
@@ -1516,7 +1516,10 @@ unit cgx86;
 end.
 {
   $Log$
-  Revision 1.59  2003-09-03 15:55:02  peter
+  Revision 1.60  2003-09-05 17:41:13  florian
+    * merged Wiktor's Watcom patches in 1.1
+
+  Revision 1.59  2003/09/03 15:55:02  peter
     * NEWRA branch merged
 
   Revision 1.58.2.5  2003/08/31 20:40:50  daniel