瀏覽代碼

* post 2.0.0 fixes from cvs

git-svn-id: trunk@7 -
peter 20 年之前
父節點
當前提交
b68af1b0e3

+ 8 - 3
compiler/systems/t_macos.pas

@@ -1,5 +1,5 @@
 {
 {
-    $Id: t_macos.pas,v 1.22 2005/03/25 21:55:43 jonas Exp $
+    $Id: t_macos.pas,v 1.23 2005/05/14 12:15:18 olle Exp $
     Copyright (c) 2001-2002 by Peter Vreman
     Copyright (c) 2001-2002 by Peter Vreman
 
 
     This unit implements support import,export,link routines for MacOS.
     This unit implements support import,export,link routines for MacOS.
@@ -164,9 +164,11 @@ begin
          * it is signaled it is a 32 bit app. (perhaps not nessecary on PowerPC)
          * it is signaled it is a 32 bit app. (perhaps not nessecary on PowerPC)
          * heapsize  }
          * heapsize  }
       if apptype <> app_tool then
       if apptype <> app_tool then
-        Add('Echo "data ''SIZE'' (-1) '#182'{ $'#182'"1080 ' + heapsizestr + ' ' + heapsizestr +
+        begin
+          Add('Echo "data ''SIZE'' (-1) '#182'{ $'#182'"1080 ' + heapsizestr + ' ' + heapsizestr +
                                          #182'" '#182'};" | Rez -a -o ' + ScriptFixFileName(current_module.exefilename^));
                                          #182'" '#182'};" | Rez -a -o ' + ScriptFixFileName(current_module.exefilename^));
-      Add('Exit If "{Status}" != 0');
+          Add('Exit If "{Status}" != 0');
+        end;
 
 
       {Add mac resources}
       {Add mac resources}
       if apptype = app_cui then
       if apptype = app_cui then
@@ -272,6 +274,9 @@ initialization
 end.
 end.
 {
 {
   $Log: t_macos.pas,v $
   $Log: t_macos.pas,v $
+  Revision 1.23  2005/05/14 12:15:18  olle
+    * Fix small issue for link script
+
   Revision 1.22  2005/03/25 21:55:43  jonas
   Revision 1.22  2005/03/25 21:55:43  jonas
     * removed some unused variables
     * removed some unused variables
 
 

+ 5 - 2
compiler/utils/fpc.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: fpc.pp,v 1.19 2005/02/14 17:13:10 peter Exp $
+    $Id: fpc.pp,v 1.20 2005/05/08 19:56:59 marco Exp $
     Copyright (c) 2000-2002 by Florian Klaempfl
     Copyright (c) 2000-2002 by Florian Klaempfl
 
 
     This file is the "loader" for the Free Pascal compiler
     This file is the "loader" for the Free Pascal compiler
@@ -203,11 +203,14 @@ program fpc;
          error(ppcbin+' can''t be executed, error message: '+e.message);
          error(ppcbin+' can''t be executed, error message: '+e.message);
      end;
      end;
      if errorvalue<>0 then
      if errorvalue<>0 then
-       error(ppcbin+' returned an error exitcode (normal if you did not specifiy a source file to be compiled)');
+       error(ppcbin+' returned an error exitcode (normal if you did not specify a source file to be compiled)');
      halt(errorvalue);
      halt(errorvalue);
   end.
   end.
 {
 {
   $Log: fpc.pp,v $
   $Log: fpc.pp,v $
+  Revision 1.20  2005/05/08 19:56:59  marco
+   * typo fixed
+
   Revision 1.19  2005/02/14 17:13:10  peter
   Revision 1.19  2005/02/14 17:13:10  peter
     * truncate log
     * truncate log
 
 

+ 11 - 2
demo/text/eratos.pp

@@ -1,7 +1,7 @@
 {
 {
-    $Id: eratos.pp,v 1.2 2002/09/07 15:06:35 peter Exp $
+    $Id: eratos.pp,v 1.3 2005/05/14 11:11:33 olle Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
-    Copyright (c) 1993-98 by Florian Klaempfl
+    Copyright (c) 1993-2005 by Florian Klaempfl
 
 
     Eratos Example, Calculates all Prime Numbers from 1 to max
     Eratos Example, Calculates all Prime Numbers from 1 to max
 
 
@@ -16,7 +16,13 @@
 program eratosthenes;
 program eratosthenes;
 
 
   const
   const
+{$ifndef MACOS}
      max = 1000000;
      max = 1000000;
+{$else}
+     max = 10000; {Actually it works with 100000 also, but not 1000000,}
+                  {in which case the OS refuses to start it.}
+{$endif}
+
   var
   var
      a : array[1..max] of boolean;
      a : array[1..max] of boolean;
 
 
@@ -55,6 +61,9 @@ program eratosthenes;
 
 
 {
 {
   $Log: eratos.pp,v $
   $Log: eratos.pp,v $
+  Revision 1.3  2005/05/14 11:11:33  olle
+    * Smaller arrray sizes for macos
+
   Revision 1.2  2002/09/07 15:06:35  peter
   Revision 1.2  2002/09/07 15:06:35  peter
     * old logs removed and tabs fixed
     * old logs removed and tabs fixed
 
 

+ 10 - 2
demo/text/qsort.pp

@@ -1,7 +1,7 @@
 {
 {
-    $Id: qsort.pp,v 1.2 2002/09/07 15:06:35 peter Exp $
+    $Id: qsort.pp,v 1.3 2005/05/14 11:11:33 olle Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
-    Copyright (c) 1993-98 by the Free Pascal Development Team
+    Copyright (c) 1993-2005 by the Free Pascal Development Team
 
 
     QuickSort Example
     QuickSort Example
 
 
@@ -16,7 +16,12 @@
 program quicksort;
 program quicksort;
 
 
   const
   const
+{$ifndef MACOS}
      max = 100000;
      max = 100000;
+{$else}
+     max = 1000; {Actually it works with 100000 also, but that might }
+                 {lead problems occacionally.}
+{$endif}
 
 
   type
   type
      tlist = array[1..max] of longint;
      tlist = array[1..max] of longint;
@@ -78,6 +83,9 @@ begin
 end.
 end.
 {
 {
   $Log: qsort.pp,v $
   $Log: qsort.pp,v $
+  Revision 1.3  2005/05/14 11:11:33  olle
+    * Smaller arrray sizes for macos
+
   Revision 1.2  2002/09/07 15:06:35  peter
   Revision 1.2  2002/09/07 15:06:35  peter
     * old logs removed and tabs fixed
     * old logs removed and tabs fixed
 
 

+ 6 - 1
fcl/db/bufdataset.inc

@@ -1,5 +1,5 @@
 {
 {
-    $Id: bufdataset.inc,v 1.13 2005/02/28 16:19:07 joost Exp $
+    $Id: bufdataset.inc,v 1.14 2005/05/07 14:41:00 joost Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by Michael Van Canneyt, member of the
     Copyright (c) 1999-2000 by Michael Van Canneyt, member of the
     Free Pascal development team
     Free Pascal development team
@@ -421,6 +421,11 @@ var
   FieldUpdBuf : PFieldUpdateBuffer;
   FieldUpdBuf : PFieldUpdateBuffer;
 
 
 begin
 begin
+  if not (state in [dsEdit, dsInsert]) then
+    begin
+    DatabaseErrorFmt(SNotInEditState,[NAme],self);
+    exit;
+    end;
   If Field.Fieldno > 0 then // If = 0, then calculated field or something
   If Field.Fieldno > 0 then // If = 0, then calculated field or something
     begin
     begin
     CurrBuff := ActiveBuffer;
     CurrBuff := ActiveBuffer;

+ 1 - 0
fcl/db/datasource.inc

@@ -7,6 +7,7 @@ Constructor TDataLink.Create;
 begin
 begin
   Inherited Create;
   Inherited Create;
   FBufferCount:=1;
   FBufferCount:=1;
+  FDataSource := nil;
   FDatasourceFixed:=False;
   FDatasourceFixed:=False;
 end;
 end;
 
 

+ 18 - 8
fcl/db/fields.inc

@@ -1,5 +1,5 @@
 {
 {
-    $Id: fields.inc,v 1.33 2005/04/26 16:48:58 michael Exp $
+    $Id: fields.inc,v 1.34 2005/05/12 18:52:32 michael Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by Michael Van Canneyt, member of the
     Copyright (c) 1999-2000 by Michael Van Canneyt, member of the
     Free Pascal development team
     Free Pascal development team
@@ -1391,14 +1391,14 @@ end;
 procedure TFloatField.SetAsString(const AValue: string);
 procedure TFloatField.SetAsString(const AValue: string);
 
 
 Var R : Double;
 Var R : Double;
-    Code : longint;
 
 
 begin
 begin
-  Val(AVAlue,R,Code);
-  If Code<>0 then
-    DatabaseErrorFmt(SNotAFloat,[AVAlue])
-  Else
+  try
+    R := StrToFloat(AValue);
     SetAsFloat(R);
     SetAsFloat(R);
+  except
+    DatabaseErrorFmt(SNotAFloat, [AValue]);
+  end;
 end;
 end;
 
 
 procedure TFloatField.SetVarValue(const AValue: Variant);
 procedure TFloatField.SetVarValue(const AValue: Variant);
@@ -1487,9 +1487,11 @@ Var Temp : string;
 
 
 begin
 begin
   Temp:=UpperCase(AValue);
   Temp:=UpperCase(AValue);
-  If Temp=FDisplays[True,True] Then
+  if Temp='' then
+    Clear
+  else if pos(Temp, FDisplays[True,True])=1 then
     SetAsBoolean(True)
     SetAsBoolean(True)
-  else If Temp=FDisplays[True,False] then
+  else if pos(Temp, FDisplays[True,False])=1 then
     SetAsBoolean(False)
     SetAsBoolean(False)
   else
   else
     DatabaseErrorFmt(SNotABoolean,[AValue]);
     DatabaseErrorFmt(SNotABoolean,[AValue]);
@@ -2308,6 +2310,14 @@ end;
 
 
 {
 {
   $Log: fields.inc,v $
   $Log: fields.inc,v $
+  Revision 1.34  2005/05/12 18:52:32  michael
+    - Patch from Jesus Reyes:
+    * TFloatField.SetAsString doesn't look at DecimalSeparator for
+      converting a string into a Float
+    * TBooleanField.SetAsString won't accept an empty string as a valid
+      value, also the patch allows strings as T, F or any starting
+      substring of DisplayValues to be accepted.
+
   Revision 1.33  2005/04/26 16:48:58  michael
   Revision 1.33  2005/04/26 16:48:58  michael
    * Some patches from Uberto Barbini
    * Some patches from Uberto Barbini
      + TLoginEvent more Delphi compatible (D5 and bigger).
      + TLoginEvent more Delphi compatible (D5 and bigger).

+ 5 - 1
fcl/passrc/pastree.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: pastree.pp,v 1.7 2005/02/14 17:13:16 peter Exp $
+    $Id: pastree.pp,v 1.8 2005/05/10 06:08:59 michael Exp $
     This file is part of the Free Component Library
     This file is part of the Free Component Library
 
 
     Pascal parse tree classes
     Pascal parse tree classes
@@ -184,6 +184,7 @@ type
     function ElementTypeName: String; override;
     function ElementTypeName: String; override;
     IsValueUsed: Boolean;
     IsValueUsed: Boolean;
     Value: Integer;
     Value: Integer;
+    AssignedValue : String;
   end;
   end;
 
 
   TPasEnumType = class(TPasType)
   TPasEnumType = class(TPasType)
@@ -1402,6 +1403,9 @@ end.
 
 
 {
 {
   $Log: pastree.pp,v $
   $Log: pastree.pp,v $
+  Revision 1.8  2005/05/10 06:08:59  michael
+  + Added parsing of explicitly assigned enumerated values
+
   Revision 1.7  2005/02/14 17:13:16  peter
   Revision 1.7  2005/02/14 17:13:16  peter
     * truncate log
     * truncate log
 
 

+ 26 - 5
fcl/passrc/pparser.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: pparser.pp,v 1.16 2005/04/07 07:55:40 marco Exp $
+    $Id: pparser.pp,v 1.17 2005/05/10 06:08:59 michael Exp $
     This file is part of the Free Component Library
     This file is part of the Free Component Library
 
 
     Pascal source parser
     Pascal source parser
@@ -389,8 +389,17 @@ begin
           NextToken;
           NextToken;
           if CurToken = tkBraceClose then
           if CurToken = tkBraceClose then
             break
             break
-          else if CurToken <> tkComma then
-            ParseExc(SParserExpectedCommaRBracket);
+          else if CurToken in [tkEqual,tkAssign] then
+            begin
+            EnumValue.AssignedValue:=ParseExpression;
+            NextToken;
+            if CurToken = tkBraceClose then
+              Break
+            else if not (CurToken=tkComma) then
+              ParseExc(SParserExpectedCommaRBracket);
+            end
+          else if not (CurToken=tkComma) then
+            ParseExc(SParserExpectedCommaRBracket)
         end;
         end;
       end;
       end;
     tkSet:
     tkSet:
@@ -1004,8 +1013,17 @@ begin
             NextToken;
             NextToken;
             if CurToken = tkBraceClose then
             if CurToken = tkBraceClose then
               break
               break
-            else if CurToken <> tkComma then
-              ParseExc(SParserExpectedCommaRBracket);
+            else if CurToken in [tkEqual,tkAssign] then
+              begin
+              EnumValue.AssignedValue:=ParseExpression;
+              NextToken;
+              if CurToken = tkBraceClose then
+                Break
+              else if not (CurToken=tkComma) then
+                ParseExc(SParserExpectedCommaRBracket);
+              end
+            else if not (CurToken=tkComma) then
+              ParseExc(SParserExpectedCommaRBracket)
           end;
           end;
           ExpectToken(tkSemicolon);
           ExpectToken(tkSemicolon);
         except
         except
@@ -1857,6 +1875,9 @@ end.
 
 
 {
 {
   $Log: pparser.pp,v $
   $Log: pparser.pp,v $
+  Revision 1.17  2005/05/10 06:08:59  michael
+  + Added parsing of explicitly assigned enumerated values
+
   Revision 1.16  2005/04/07 07:55:40  marco
   Revision 1.16  2005/04/07 07:55:40  marco
    * patch from peter for resoursestring=string bug + fix crash missing --input
    * patch from peter for resoursestring=string bug + fix crash missing --input
 
 

+ 29 - 7
install/doc/readme.txt

@@ -20,7 +20,6 @@ Free Pascal 2.0.0 is currently available for the following platforms:
 - Linux-powerpc
 - Linux-powerpc
 - Linux-sparc
 - Linux-sparc
 - Linux-x86_64 (amd64)
 - Linux-x86_64 (amd64)
-- Dos (i386), using the Go32v2 dos extender
 - Win32 (Win95/98/Me/XP/2000 and WinNT)
 - Win32 (Win95/98/Me/XP/2000 and WinNT)
 - OS/2-i386 (OS/2 Warp v3.0, 4.0, WarpServer for e-Business and eComStation)
 - OS/2-i386 (OS/2 Warp v3.0, 4.0, WarpServer for e-Business and eComStation)
 - FreeBSD i386
 - FreeBSD i386
@@ -35,6 +34,13 @@ Because release building is quite time intensive, we decide to start the
 this and create and maintain 2.0 beta releases for other platforms and
 this and create and maintain 2.0 beta releases for other platforms and
 targets, feel free to contact us, e-mail addresses are listed below.
 targets, feel free to contact us, e-mail addresses are listed below.
 
 
+There are other platforms which are more or less working, but there is
+currently no maintainer for them and thus we cannot provide adequate
+support. DOS (i386) using the GO32v2 dos extender is one such example,
+other examples would include other BSD variants, etc. If you want to change
+this and create and maintain versions for other platforms and targets, feel
+free to contact us, e-mail addresses are listed below.
+
 ****************************************************************************
 ****************************************************************************
 * Features
 * Features
 ****************************************************************************
 ****************************************************************************
@@ -52,6 +58,7 @@ targets, feel free to contact us, e-mail addresses are listed below.
   - COM, CORBA and raw interfaces support
   - COM, CORBA and raw interfaces support
   - dynamic array support
   - dynamic array support
   - variant support
   - variant support
+  - inlining
 - code optimizer:
 - code optimizer:
   - peephole optimizer (80x86 only)
   - peephole optimizer (80x86 only)
   - jump optimizer
   - jump optimizer
@@ -66,11 +73,12 @@ targets, feel free to contact us, e-mail addresses are listed below.
   - GNU Assembler (GAS)
   - GNU Assembler (GAS)
   - Netwide assembler (Nasm)
   - Netwide assembler (Nasm)
   - Microsoft Assembler/Turbo Assembler (Masm/Tasm)
   - Microsoft Assembler/Turbo Assembler (Masm/Tasm)
+  - Watcom assembler (wasm)
 - can call external C code
 - can call external C code
 - smartlinking (not yet supported under Mac OS X)
 - smartlinking (not yet supported under Mac OS X)
 - support for the GNU debugger
 - support for the GNU debugger
-- IDE (currently for GO32v2, Linux, FreeBSD and Win32 only, in beta testing
-  phase)
+- IDE (currently for GO32v2, Linux, FreeBSD, OS/2 and Win32 only; not all
+  platforms include debugger integrated in IDE)
 - can create binaries running natively under both DOS and OS/2 (EMX version)
 - can create binaries running natively under both DOS and OS/2 (EMX version)
 
 
 
 
@@ -97,12 +105,26 @@ Mac OS (classic)
  - Mac OS 9.2 has been tested, should probably also work from 7.5.3 and up.
  - Mac OS 9.2 has been tested, should probably also work from 7.5.3 and up.
 
 
 ****************************************************************************
 ****************************************************************************
-* Quick start - Win32 / OS/2 / DOS
+* Quick start - Win32
+****************************************************************************
+
+Download the distribution package (fpc-2.0.0.i386-win32.exe) and run it
+- it is a self-extracting installer, so just follow the instructions
+to install it. Don't forget to set the path as mentioned by the install
+program.
+
+To test the compiler, change to the demo directory of the compiler
+and type
+        fpc hello
+        hello
+
+
+****************************************************************************
+* Quick start - OS/2 / DOS
 ****************************************************************************
 ****************************************************************************
 
 
-Download distribution archive (fpc-2.0.0.i386-win32.zip for Win32,
-dos196.zip for GO32v2 or os2196.zip for OS/2) and unzip it
-into a temporary directory.
+Download distribution archive (os2200.zip for OS/2 or dos196.zip for
+GO32v2) and unzip it into a temporary directory.
 
 
 Start the install program INSTALL.EXE and follow the instructions.
 Start the install program INSTALL.EXE and follow the instructions.
 
 

+ 5 - 1
rtl/atari/system.pas

@@ -1,5 +1,5 @@
 {
 {
-    $Id: system.pas,v 1.14 2005/04/03 21:10:59 hajny Exp $
+    $Id: system.pas,v 1.15 2005/05/12 20:29:04 michael Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by Carl Eric Codere
     Copyright (c) 1999-2000 by Carl Eric Codere
     member of the Free Pascal development team
     member of the Free Pascal development team
@@ -45,6 +45,7 @@ const
  PathSeparator = ';';
  PathSeparator = ';';
  FileNameCaseSensitive = false;
  FileNameCaseSensitive = false;
  maxExitCode = 255;
  maxExitCode = 255;
+ MaxPathLen = 255;
 
 
  sLineBreak: string [1] = LineEnding;
  sLineBreak: string [1] = LineEnding;
     { used for single computations }
     { used for single computations }
@@ -773,6 +774,9 @@ end.
 
 
 {
 {
   $Log: system.pas,v $
   $Log: system.pas,v $
+  Revision 1.15  2005/05/12 20:29:04  michael
+  + Added maxpathlen constant (maximum length of filename path)
+
   Revision 1.14  2005/04/03 21:10:59  hajny
   Revision 1.14  2005/04/03 21:10:59  hajny
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
 
 

+ 6 - 2
rtl/beos/system.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: system.pp,v 1.23 2005/04/13 20:10:50 florian Exp $
+    $Id: system.pp,v 1.24 2005/05/12 20:29:04 michael Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by the Free Pascal development team.
     Copyright (c) 1999-2000 by the Free Pascal development team.
 
 
@@ -43,7 +43,8 @@ const
  PathSeparator = ':';
  PathSeparator = ':';
 { FileNameCaseSensitive is defined separately below!!! }
 { FileNameCaseSensitive is defined separately below!!! }
  maxExitCode = 255;
  maxExitCode = 255;
-
+ MaxPathLen = 256;
+ 
 const
 const
   FileNameCaseSensitive : boolean = true;
   FileNameCaseSensitive : boolean = true;
   CtrlZMarksEOF: boolean = false; (* #26 not considered as end of file *)
   CtrlZMarksEOF: boolean = false; (* #26 not considered as end of file *)
@@ -548,6 +549,9 @@ begin
 end.
 end.
 {
 {
   $Log: system.pp,v $
   $Log: system.pp,v $
+  Revision 1.24  2005/05/12 20:29:04  michael
+  + Added maxpathlen constant (maximum length of filename path)
+
   Revision 1.23  2005/04/13 20:10:50  florian
   Revision 1.23  2005/04/13 20:10:50  florian
     + TThreadID
     + TThreadID
 
 

+ 5 - 2
rtl/emx/crt.pas

@@ -1,6 +1,6 @@
 {****************************************************************************
 {****************************************************************************
 
 
-    $Id: crt.pas,v 1.6 2005/03/30 23:11:35 hajny Exp $
+    $Id: crt.pas,v 1.7 2005/05/14 15:01:49 hajny Exp $
 
 
                             Standard CRT unit.
                             Standard CRT unit.
                     Free Pascal runtime library for EMX.
                     Free Pascal runtime library for EMX.
@@ -453,7 +453,7 @@ begin
     scroll_dn(row,left,bot,right,1,fil);
     scroll_dn(row,left,bot,right,1,fil);
 end;
 end;
 
 
-procedure textmode(mode:integer);
+procedure TextMode (Mode: word);
 
 
 { Use this procedure to set-up a specific text-mode.}
 { Use this procedure to set-up a specific text-mode.}
 
 
@@ -960,6 +960,9 @@ end.
 
 
 {
 {
   $Log: crt.pas,v $
   $Log: crt.pas,v $
+  Revision 1.7  2005/05/14 15:01:49  hajny
+    * TextMode parameter type changed to word for TP/BP compatibility
+
   Revision 1.6  2005/03/30 23:11:35  hajny
   Revision 1.6  2005/03/30 23:11:35  hajny
     * OS/2 fixes merged to EMX
     * OS/2 fixes merged to EMX
 
 

+ 5 - 1
rtl/emx/system.pas

@@ -1,5 +1,5 @@
 {
 {
- $Id: system.pas,v 1.35 2005/04/03 21:10:59 hajny Exp $
+ $Id: system.pas,v 1.36 2005/05/12 20:29:04 michael Exp $
  ****************************************************************************
  ****************************************************************************
 
 
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
@@ -37,6 +37,7 @@ const
  PathSeparator = ';';
  PathSeparator = ';';
 { FileNameCaseSensitive is defined separately below!!! }
 { FileNameCaseSensitive is defined separately below!!! }
  maxExitCode = 255;
  maxExitCode = 255;
+ MaxPathLen = 256;
 
 
 type    Tos=(osDOS,osOS2,osDPMI);
 type    Tos=(osDOS,osOS2,osDPMI);
 
 
@@ -591,6 +592,9 @@ begin
 end.
 end.
 {
 {
   $Log: system.pas,v $
   $Log: system.pas,v $
+  Revision 1.36  2005/05/12 20:29:04  michael
+  + Added maxpathlen constant (maximum length of filename path)
+
   Revision 1.35  2005/04/03 21:10:59  hajny
   Revision 1.35  2005/04/03 21:10:59  hajny
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
 
 

+ 5 - 2
rtl/go32v2/crt.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: crt.pp,v 1.12 2005/02/14 17:13:22 peter Exp $
+    $Id: crt.pp,v 1.13 2005/05/14 15:01:49 hajny Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by the Free Pascal development team.
     Copyright (c) 1999-2000 by the Free Pascal development team.
 
 
@@ -144,7 +144,7 @@ end;
 ****************************************************************************}
 ****************************************************************************}
 
 
 
 
-procedure textmode(mode : integer);
+procedure textmode (Mode: word);
 
 
 var
 var
    regs : trealregs;
    regs : trealregs;
@@ -770,6 +770,9 @@ end.
 
 
 {
 {
   $Log: crt.pp,v $
   $Log: crt.pp,v $
+  Revision 1.13  2005/05/14 15:01:49  hajny
+    * TextMode parameter type changed to word for TP/BP compatibility
+
   Revision 1.12  2005/02/14 17:13:22  peter
   Revision 1.12  2005/02/14 17:13:22  peter
     * truncate log
     * truncate log
 
 

+ 5 - 2
rtl/go32v2/system.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: system.pp,v 1.52 2005/05/05 11:40:23 peter Exp $
+    $Id: system.pp,v 1.53 2005/05/12 20:29:04 michael Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by the Free Pascal development team.
     Copyright (c) 1999-2000 by the Free Pascal development team.
 
 
@@ -43,7 +43,7 @@ const
  PathSeparator = ';';
  PathSeparator = ';';
 { FileNameCaseSensitive is defined separately below!!! }
 { FileNameCaseSensitive is defined separately below!!! }
  maxExitCode = 255;
  maxExitCode = 255;
-
+ MaxPathLen = 256;
 
 
 const
 const
 { Default filehandles }
 { Default filehandles }
@@ -658,6 +658,9 @@ Begin
 End.
 End.
 {
 {
   $Log: system.pp,v $
   $Log: system.pp,v $
+  Revision 1.53  2005/05/12 20:29:04  michael
+  + Added maxpathlen constant (maximum length of filename path)
+
   Revision 1.52  2005/05/05 11:40:23  peter
   Revision 1.52  2005/05/05 11:40:23  peter
   Call InitSystemThreads
   Call InitSystemThreads
 
 

+ 4 - 2
rtl/inc/compproc.inc

@@ -1,5 +1,5 @@
 {
 {
-    $Id: compproc.inc,v 1.67 2005/03/28 13:38:05 florian Exp $
+    $Id: compproc.inc,v 1.68 2005/05/14 11:53:31 olle Exp $
     This file is part of the Free Pascal Run time library.
     This file is part of the Free Pascal Run time library.
     Copyright (c) 1999-2000 by the Free Pascal development team
     Copyright (c) 1999-2000 by the Free Pascal development team
 
 
@@ -335,7 +335,6 @@ procedure fpc_largeset_contains_sets(set1,set2 : pointer; size: longint); compil
 procedure fpc_rangeerror; compilerproc;
 procedure fpc_rangeerror; compilerproc;
 procedure fpc_divbyzero; compilerproc;
 procedure fpc_divbyzero; compilerproc;
 procedure fpc_overflow; compilerproc;
 procedure fpc_overflow; compilerproc;
-//procedure fpc_iocheck(addr : longint); compilerproc;
 procedure fpc_iocheck; compilerproc;
 procedure fpc_iocheck; compilerproc;
 
 
 procedure fpc_InitializeUnits; compilerproc;
 procedure fpc_InitializeUnits; compilerproc;
@@ -366,6 +365,9 @@ function fpc_qword_to_double(q: qword): double; compilerproc;
 
 
 {
 {
   $Log: compproc.inc,v $
   $Log: compproc.inc,v $
+  Revision 1.68  2005/05/14 11:53:31  olle
+    - Removed outcommented function
+
   Revision 1.67  2005/03/28 13:38:05  florian
   Revision 1.67  2005/03/28 13:38:05  florian
     + a lot of vararray stuff
     + a lot of vararray stuff
 
 

+ 6 - 3
rtl/inc/crt.inc

@@ -1,5 +1,5 @@
 {
 {
-    $Id: crt.inc,v 1.2 2005/05/14 14:58:41 hajny Exp $
+    $Id: crt.inc,v 1.3 2005/05/14 15:01:49 hajny Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1998 - 2005 by the Free Pascal development team.
     Copyright (c) 1998 - 2005 by the Free Pascal development team.
 
 
@@ -108,12 +108,12 @@ begin
 end;
 end;
 
 
 
 
-procedure TextMode (Mode: integer);
+procedure TextMode (Mode: word);
 { Use this procedure to set-up a specific text-mode.}
 { Use this procedure to set-up a specific text-mode.}
 begin
 begin
  TextAttr := $07;
  TextAttr := $07;
  LastMode := Mode;
  LastMode := Mode;
- SetScreenMode (word (Mode));
+ SetScreenMode (Mode);
  WindMin := 0;
  WindMin := 0;
  WindMaxX := Pred (ScreenWidth);
  WindMaxX := Pred (ScreenWidth);
  WindMaxY := Pred (ScreenHeight);
  WindMaxY := Pred (ScreenHeight);
@@ -410,6 +410,9 @@ end;
 
 
 {
 {
   $Log: crt.inc,v $
   $Log: crt.inc,v $
+  Revision 1.3  2005/05/14 15:01:49  hajny
+    * TextMode parameter type changed to word for TP/BP compatibility
+
   Revision 1.2  2005/05/14 14:58:41  hajny
   Revision 1.2  2005/05/14 14:58:41  hajny
     * TextMode parameter type changed temporarily not to break other platforms
     * TextMode parameter type changed temporarily not to break other platforms
 
 

+ 5 - 2
rtl/inc/crth.inc

@@ -1,5 +1,5 @@
 {
 {
-    $Id: crth.inc,v 1.4 2005/02/14 17:13:22 peter Exp $
+    $Id: crth.inc,v 1.5 2005/05/15 12:44:14 hajny Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by the Free Pascal development team.
     Copyright (c) 1999-2000 by the Free Pascal development team.
 
 
@@ -77,7 +77,7 @@ var
 procedure AssignCrt(var F: Text);
 procedure AssignCrt(var F: Text);
 function KeyPressed: Boolean;
 function KeyPressed: Boolean;
 function ReadKey: Char;
 function ReadKey: Char;
-procedure TextMode(Mode: Integer);
+procedure TextMode (Mode: word);
 procedure Window(X1,Y1,X2,Y2: Byte);
 procedure Window(X1,Y1,X2,Y2: Byte);
 procedure GotoXY(X,Y: Byte);
 procedure GotoXY(X,Y: Byte);
 function WhereX: Byte;
 function WhereX: Byte;
@@ -102,6 +102,9 @@ procedure cursorbig;
 
 
 {
 {
   $Log: crth.inc,v $
   $Log: crth.inc,v $
+  Revision 1.5  2005/05/15 12:44:14  hajny
+    * TextMode parameter type changed to word for TP/BP compatibility
+
   Revision 1.4  2005/02/14 17:13:22  peter
   Revision 1.4  2005/02/14 17:13:22  peter
     * truncate log
     * truncate log
 
 

+ 5 - 2
rtl/inc/real2str.inc

@@ -1,5 +1,5 @@
 {
 {
-    $Id: real2str.inc,v 1.17 2005/02/14 17:13:26 peter Exp $
+    $Id: real2str.inc,v 1.18 2005/05/14 11:54:00 olle Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by Michael Van Canneyt,
     Copyright (c) 1999-2000 by Michael Van Canneyt,
     member of the Free Pascal development team
     member of the Free Pascal development team
@@ -194,7 +194,7 @@ begin
       end;
       end;
     rt_s64real :
     rt_s64real :
       begin
       begin
-{ if the maximum suppported type is double, we can print out one digit }
+{ if the maximum supported type is double, we can print out one digit }
 { less, because otherwise we can't round properly and 1e-400 becomes   }
 { less, because otherwise we can't round properly and 1e-400 becomes   }
 { 0.99999999999e-400 (JM)                                              }
 { 0.99999999999e-400 (JM)                                              }
 {$ifdef support_extended}
 {$ifdef support_extended}
@@ -461,6 +461,9 @@ end;
 
 
 {
 {
   $Log: real2str.inc,v $
   $Log: real2str.inc,v $
+  Revision 1.18  2005/05/14 11:54:00  olle
+    * Fixed typo
+
   Revision 1.17  2005/02/14 17:13:26  peter
   Revision 1.17  2005/02/14 17:13:26  peter
     * truncate log
     * truncate log
 
 

+ 6 - 3
rtl/macos/sysdir.inc

@@ -1,10 +1,10 @@
 {
 {
-    $Id: sysdir.inc,v 1.2 2005/02/14 17:13:30 peter Exp $
+    $Id: sysdir.inc,v 1.3 2005/05/14 11:52:37 olle Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
-    Copyright (c) 1999-2000 by Florian Klaempfl and Pavel Ozerski
+    Copyright (c) 1999-2005 by Florian Klaempfl and Pavel Ozerski
     member of the Free Pascal development team.
     member of the Free Pascal development team.
 
 
-    FPC Pascal system unit for the Win32 API.
+    Low level directory functions for MacOS
 
 
     See the file COPYING.FPC, included in this distribution,
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
     for details about the copyright.
@@ -121,6 +121,9 @@ end;
 
 
 {
 {
   $Log: sysdir.inc,v $
   $Log: sysdir.inc,v $
+  Revision 1.3  2005/05/14 11:52:37  olle
+    * Updated header comments
+
   Revision 1.2  2005/02/14 17:13:30  peter
   Revision 1.2  2005/02/14 17:13:30  peter
     * truncate log
     * truncate log
 
 

+ 5 - 2
rtl/macos/sysfile.inc

@@ -1,9 +1,9 @@
 {
 {
-    $Id: sysfile.inc,v 1.4 2005/04/28 18:21:04 olle Exp $
+    $Id: sysfile.inc,v 1.5 2005/05/14 11:52:37 olle Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 2001-2005 by Free Pascal development team
     Copyright (c) 2001-2005 by Free Pascal development team
 
 
-    Low level file functions
+    Low level file functions for MacOS
 
 
     See the file COPYING.FPC, included in this distribution,
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
     for details about the copyright.
@@ -351,6 +351,9 @@ end;
 
 
 {
 {
    $Log: sysfile.inc,v $
    $Log: sysfile.inc,v $
+   Revision 1.5  2005/05/14 11:52:37  olle
+     * Updated header comments
+
    Revision 1.4  2005/04/28 18:21:04  olle
    Revision 1.4  2005/04/28 18:21:04  olle
      * Set errno to zero after close
      * Set errno to zero after close
 
 

+ 6 - 5
rtl/macos/sysheap.inc

@@ -1,11 +1,9 @@
 {
 {
-    $Id: sysheap.inc,v 1.1 2005/02/07 21:30:12 peter Exp $
+    $Id: sysheap.inc,v 1.2 2005/05/14 11:52:37 olle Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
-    Copyright (c) 2001 by Free Pascal development team
+    Copyright (c) 2001-2005 by Free Pascal development team
 
 
-    This file implements all the base types and limits required
-    for a minimal POSIX compliant subset required to port the compiler
-    to a new OS.
+    Low level heap functions for MacOS
 
 
     See the file COPYING.FPC, included in this distribution,
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
     for details about the copyright.
@@ -38,6 +36,9 @@ end;
 
 
 {
 {
    $Log: sysheap.inc,v $
    $Log: sysheap.inc,v $
+   Revision 1.2  2005/05/14 11:52:37  olle
+     * Updated header comments
+
    Revision 1.1  2005/02/07 21:30:12  peter
    Revision 1.1  2005/02/07 21:30:12  peter
      * system unit updated
      * system unit updated
 
 

+ 6 - 5
rtl/macos/sysos.inc

@@ -1,11 +1,9 @@
 {
 {
-    $Id: sysos.inc,v 1.2 2005/03/20 19:35:24 olle Exp $
+    $Id: sysos.inc,v 1.3 2005/05/14 11:52:37 olle Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
-    Copyright (c) 2001 by Free Pascal development team
+    Copyright (c) 2001-2005 by Free Pascal development team
 
 
-    This file implements all the base types and limits required
-    for a minimal POSIX compliant subset required to port the compiler
-    to a new OS.
+    Low level system functions for MacOS
 
 
     See the file COPYING.FPC, included in this distribution,
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
     for details about the copyright.
@@ -164,6 +162,9 @@ end;
 
 
 {
 {
    $Log: sysos.inc,v $
    $Log: sysos.inc,v $
+   Revision 1.3  2005/05/14 11:52:37  olle
+     * Updated header comments
+
    Revision 1.2  2005/03/20 19:35:24  olle
    Revision 1.2  2005/03/20 19:35:24  olle
      - removed FSpLocationFromFullPath
      - removed FSpLocationFromFullPath
 
 

+ 6 - 5
rtl/macos/sysosh.inc

@@ -1,11 +1,9 @@
 {
 {
-    $Id: sysosh.inc,v 1.2 2005/04/13 20:10:50 florian Exp $
+    $Id: sysosh.inc,v 1.3 2005/05/14 11:52:37 olle Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
-    Copyright (c) 2001 by Free Pascal development team
+    Copyright (c) 2001-2005 by Free Pascal development team
 
 
-    This file implements all the base types and limits required
-    for a minimal POSIX compliant subset required to port the compiler
-    to a new OS.
+    This file implements all the base types and limits for MacOS
 
 
     See the file COPYING.FPC, included in this distribution,
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
     for details about the copyright.
@@ -33,6 +31,9 @@ type
 
 
 {
 {
    $Log: sysosh.inc,v $
    $Log: sysosh.inc,v $
+   Revision 1.3  2005/05/14 11:52:37  olle
+     * Updated header comments
+
    Revision 1.2  2005/04/13 20:10:50  florian
    Revision 1.2  2005/04/13 20:10:50  florian
      + TThreadID
      + TThreadID
 
 

+ 7 - 3
rtl/macos/system.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: system.pp,v 1.32 2005/04/03 21:10:59 hajny Exp $
+    $Id: system.pp,v 1.33 2005/05/12 20:29:04 michael Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 2002-2004 by Olle Raab
     Copyright (c) 2002-2004 by Olle Raab
 
 
@@ -28,9 +28,10 @@ const
  PathSeparator = ',';  {Is used in MPW and OzTeX}
  PathSeparator = ',';  {Is used in MPW and OzTeX}
  FileNameCaseSensitive = false;
  FileNameCaseSensitive = false;
  CtrlZMarksEOF: boolean = false; (* #26 not considered as end of file *)
  CtrlZMarksEOF: boolean = false; (* #26 not considered as end of file *)
-
+  
  maxExitCode = 65535;
  maxExitCode = 65535;
-
+ MaxPathLen = 256;
+  
 const
 const
 { Default filehandles }
 { Default filehandles }
   UnusedHandle    : Longint = -1;
   UnusedHandle    : Longint = -1;
@@ -560,6 +561,9 @@ end.
 
 
 {
 {
   $Log: system.pp,v $
   $Log: system.pp,v $
+  Revision 1.33  2005/05/12 20:29:04  michael
+  + Added maxpathlen constant (maximum length of filename path)
+
   Revision 1.32  2005/04/03 21:10:59  hajny
   Revision 1.32  2005/04/03 21:10:59  hajny
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
 
 

+ 6 - 3
rtl/macos/systhrd.inc

@@ -1,10 +1,10 @@
 {
 {
-    $Id: systhrd.inc,v 1.1 2005/02/07 21:30:12 peter Exp $
+    $Id: systhrd.inc,v 1.2 2005/05/14 11:52:37 olle Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
-    Copyright (c) 2002 by Peter Vreman,
+    Copyright (c) 2002-2005 by Peter Vreman,
     member of the Free Pascal development team.
     member of the Free Pascal development team.
 
 
-    Linux (pthreads) threading support implementation
+    MacOS threading support implementation.
 
 
     See the file COPYING.FPC, included in this distribution,
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
     for details about the copyright.
@@ -25,6 +25,9 @@ end;
 
 
 {
 {
   $Log: systhrd.inc,v $
   $Log: systhrd.inc,v $
+  Revision 1.2  2005/05/14 11:52:37  olle
+    * Updated header comments
+
   Revision 1.1  2005/02/07 21:30:12  peter
   Revision 1.1  2005/02/07 21:30:12  peter
     * system unit updated
     * system unit updated
 
 

+ 10 - 4
rtl/morphos/system.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: system.pp,v 1.33 2005/04/03 21:10:59 hajny Exp $
+    $Id: system.pp,v 1.35 2005/05/12 20:29:04 michael Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 2004 by Karoly Balogh for Genesi S.a.r.l.
     Copyright (c) 2004 by Karoly Balogh for Genesi S.a.r.l.
 
 
@@ -35,7 +35,8 @@ const
   DriveSeparator = ':';
   DriveSeparator = ':';
   PathSeparator = ';';
   PathSeparator = ';';
   maxExitCode = 255;
   maxExitCode = 255;
-
+  MaxPathLen = 256;
+  
 const
 const
   UnusedHandle    : LongInt = -1;
   UnusedHandle    : LongInt = -1;
   StdInputHandle  : LongInt = 0;
   StdInputHandle  : LongInt = 0;
@@ -119,8 +120,7 @@ var
           for i:=oldargvlen to argvlen-1 do
           for i:=oldargvlen to argvlen-1 do
             argv[i]:=nil;
             argv[i]:=nil;
         end;
         end;
-      { use realloc to reuse already existing memory }
-      sysreallocmem(argv[idx],len+1);
+      ArgV [Idx] := SysAllocMem (Succ (Len));
     end;
     end;
 
 
 var
 var
@@ -336,6 +336,12 @@ end.
 
 
 {
 {
   $Log: system.pp,v $
   $Log: system.pp,v $
+  Revision 1.35  2005/05/12 20:29:04  michael
+  + Added maxpathlen constant (maximum length of filename path)
+
+  Revision 1.34  2005/05/10 21:45:08  hajny
+    * fix for potential SIGSEGV during argv allocation
+
   Revision 1.33  2005/04/03 21:10:59  hajny
   Revision 1.33  2005/04/03 21:10:59  hajny
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
 
 

+ 2 - 2
rtl/netware/crt.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: crt.pp,v 1.5 2004/02/08 16:22:20 michael Exp $
+    $Id: crt.pp,v 1.6 2005/05/14 15:01:49 hajny Exp $
     Copyright (c) 1999-2001 by the Free Pascal development team.
     Copyright (c) 1999-2001 by the Free Pascal development team.
 
 
     Borland Pascal 7 Compatible CRT Unit for Netware, tested with
     Borland Pascal 7 Compatible CRT Unit for Netware, tested with
@@ -141,7 +141,7 @@ end;
 ****************************************************************************}
 ****************************************************************************}
 
 
 
 
-procedure textmode(mode : integer);
+procedure textmode (mode: word);
 begin
 begin
   Window (1,1,byte(ScreenWidth),byte(ScreenHeight));
   Window (1,1,byte(ScreenWidth),byte(ScreenHeight));
   ClrScr;
   ClrScr;

+ 5 - 2
rtl/netware/system.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: system.pp,v 1.37 2005/04/03 21:10:59 hajny Exp $
+    $Id: system.pp,v 1.38 2005/05/12 20:29:04 michael Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by the Free Pascal development team.
     Copyright (c) 1999-2000 by the Free Pascal development team.
 
 
@@ -42,7 +42,7 @@ const
  PathSeparator = ';';
  PathSeparator = ';';
 { FileNameCaseSensitive is defined separately below!!! }
 { FileNameCaseSensitive is defined separately below!!! }
  maxExitCode = 255;
  maxExitCode = 255;
-
+ MaxPathLen = 256;
 
 
 CONST
 CONST
   { Default filehandles }
   { Default filehandles }
@@ -489,6 +489,9 @@ Begin
 End.
 End.
 {
 {
   $Log: system.pp,v $
   $Log: system.pp,v $
+  Revision 1.38  2005/05/12 20:29:04  michael
+  + Added maxpathlen constant (maximum length of filename path)
+
   Revision 1.37  2005/04/03 21:10:59  hajny
   Revision 1.37  2005/04/03 21:10:59  hajny
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
 
 

+ 2 - 2
rtl/netwlibc/crt.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: crt.pp,v 1.1 2004/09/05 20:58:47 armin Exp $
+    $Id: crt.pp,v 1.2 2005/05/14 15:01:49 hajny Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2004 by the Free Pascal development team.
     Copyright (c) 1999-2004 by the Free Pascal development team.
 
 
@@ -128,7 +128,7 @@ end;
 ****************************************************************************}
 ****************************************************************************}
 
 
 
 
-procedure textmode(mode : integer);
+procedure TextMode (Mode: word);
 begin
 begin
   Window (1,1,byte(ScreenWidth),byte(ScreenHeight));
   Window (1,1,byte(ScreenWidth),byte(ScreenHeight));
   ClrScr;
   ClrScr;

+ 5 - 2
rtl/netwlibc/system.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: system.pp,v 1.15 2005/04/03 21:10:59 hajny Exp $
+    $Id: system.pp,v 1.16 2005/05/12 20:29:04 michael Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2004 by the Free Pascal development team.
     Copyright (c) 1999-2004 by the Free Pascal development team.
 
 
@@ -48,7 +48,7 @@ const
  PathSeparator = ';';
  PathSeparator = ';';
 { FileNameCaseSensitive is defined separately below!!! }
 { FileNameCaseSensitive is defined separately below!!! }
  maxExitCode = $ffff;
  maxExitCode = $ffff;
-
+ MaxPathLen = 256;
 
 
 CONST
 CONST
   { Default filehandles }
   { Default filehandles }
@@ -560,6 +560,9 @@ Begin
 End.
 End.
 {
 {
   $Log: system.pp,v $
   $Log: system.pp,v $
+  Revision 1.16  2005/05/12 20:29:04  michael
+  + Added maxpathlen constant (maximum length of filename path)
+
   Revision 1.15  2005/04/03 21:10:59  hajny
   Revision 1.15  2005/04/03 21:10:59  hajny
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
 
 

+ 5 - 2
rtl/objpas/sysutils/sysutilh.inc

@@ -1,5 +1,5 @@
 {
 {
-    $Id: sysutilh.inc,v 1.14 2005/03/12 14:56:22 florian Exp $
+    $Id: sysutilh.inc,v 1.15 2005/05/12 20:30:51 michael Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by Florian Klaempfl
     Copyright (c) 1999-2000 by Florian Klaempfl
     member of the Free Pascal development team
     member of the Free Pascal development team
@@ -194,7 +194,7 @@ const
   PathDelim={System.}DirectorySeparator;
   PathDelim={System.}DirectorySeparator;
   DriveDelim={System.}DriveSeparator;
   DriveDelim={System.}DriveSeparator;
   PathSep={System.}PathSeparator;
   PathSep={System.}PathSeparator;
-
+  MAX_PATH={System.}MaxPathLen;
 
 
 Type
 Type
    TFileRec=FileRec;
    TFileRec=FileRec;
@@ -237,6 +237,9 @@ Type
 
 
 {
 {
   $Log: sysutilh.inc,v $
   $Log: sysutilh.inc,v $
+  Revision 1.15  2005/05/12 20:30:51  michael
+  + Added MAX_PATH for Delphi/Kylix compatibility.
+
   Revision 1.14  2005/03/12 14:56:22  florian
   Revision 1.14  2005/03/12 14:56:22  florian
     + added Ansi* routines to widestring manager
     + added Ansi* routines to widestring manager
     * made them using OS calls on windows
     * made them using OS calls on windows

+ 6 - 2
rtl/os2/system.pas

@@ -1,5 +1,5 @@
 {
 {
- $Id: system.pas,v 1.85 2005/05/03 22:17:26 hajny Exp $
+ $Id: system.pas,v 1.86 2005/05/12 20:29:04 michael Exp $
  ****************************************************************************
  ****************************************************************************
 
 
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
@@ -50,7 +50,8 @@ const
   PathSeparator = ';';
   PathSeparator = ';';
 { FileNameCaseSensitive is defined separately below!!! }
 { FileNameCaseSensitive is defined separately below!!! }
   MaxExitCode = 65535;
   MaxExitCode = 65535;
-
+  MaxPathLen = 256;
+  
 type    Tos=(osDOS,osOS2,osDPMI);
 type    Tos=(osDOS,osOS2,osDPMI);
 
 
 const   os_mode: Tos = osOS2;
 const   os_mode: Tos = osOS2;
@@ -773,6 +774,9 @@ begin
 end.
 end.
 {
 {
   $Log: system.pas,v $
   $Log: system.pas,v $
+  Revision 1.86  2005/05/12 20:29:04  michael
+  + Added maxpathlen constant (maximum length of filename path)
+
   Revision 1.85  2005/05/03 22:17:26  hajny
   Revision 1.85  2005/05/03 22:17:26  hajny
     * SysAllocMem used for ArgV [Idx] allocation again
     * SysAllocMem used for ArgV [Idx] allocation again
 
 

+ 5 - 1
rtl/palmos/system.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: system.pp,v 1.8 2005/04/03 21:10:59 hajny Exp $
+    $Id: system.pp,v 1.9 2005/05/12 20:29:04 michael Exp $
 
 
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by Florian Klaempfl
     Copyright (c) 1999-2000 by Florian Klaempfl
@@ -32,6 +32,7 @@ const
  FileNameCaseSensitive = false;
  FileNameCaseSensitive = false;
  CtrlZMarksEOF: boolean = false; (* #26 not considered as end of file *)
  CtrlZMarksEOF: boolean = false; (* #26 not considered as end of file *)
  maxExitCode = 255; {$ERROR TODO: CONFIRM THIS}
  maxExitCode = 255; {$ERROR TODO: CONFIRM THIS}
+ MaxPathLen = 256;
 
 
     Type
     Type
        { type and constant declartions doesn't hurt }
        { type and constant declartions doesn't hurt }
@@ -110,6 +111,9 @@ end.
 
 
 {
 {
   $Log: system.pp,v $
   $Log: system.pp,v $
+  Revision 1.9  2005/05/12 20:29:04  michael
+  + Added maxpathlen constant (maximum length of filename path)
+
   Revision 1.8  2005/04/03 21:10:59  hajny
   Revision 1.8  2005/04/03 21:10:59  hajny
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
 
 

+ 5 - 2
rtl/unix/crt.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: crt.pp,v 1.24 2005/03/16 18:17:23 jonas Exp $
+    $Id: crt.pp,v 1.25 2005/05/14 15:01:49 hajny Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by Michael Van Canneyt and Peter Vreman,
     Copyright (c) 1999-2000 by Michael Van Canneyt and Peter Vreman,
     members of the Free Pascal development team.
     members of the Free Pascal development team.
@@ -1416,7 +1416,7 @@ end;
 
 
 
 
 
 
-Procedure TextMode(Mode: Integer);
+Procedure TextMode (Mode: word);
 {
 {
   Only Clears Screen under linux}
   Only Clears Screen under linux}
 begin
 begin
@@ -1626,6 +1626,9 @@ Finalization
 End.
 End.
 {
 {
   $Log: crt.pp,v $
   $Log: crt.pp,v $
+  Revision 1.25  2005/05/14 15:01:49  hajny
+    * TextMode parameter type changed to word for TP/BP compatibility
+
   Revision 1.24  2005/03/16 18:17:23  jonas
   Revision 1.24  2005/03/16 18:17:23  jonas
     * fix from mischi to fix extra spaces under some terminals
     * fix from mischi to fix extra spaces under some terminals
 
 

+ 6 - 2
rtl/unix/sysunixh.inc

@@ -1,5 +1,5 @@
 {
 {
-    $Id: sysunixh.inc,v 1.26 2005/04/03 21:10:59 hajny Exp $
+    $Id: sysunixh.inc,v 1.27 2005/05/12 20:29:16 michael Exp $
     This file is part of the Free Pascal Run time library.
     This file is part of the Free Pascal Run time library.
     Copyright (c) 2001 by the Free Pascal development team
     Copyright (c) 2001 by the Free Pascal development team
 
 
@@ -33,7 +33,8 @@ const
  PathSeparator = ':';
  PathSeparator = ':';
 { FileNameCaseSensitive is defined below! }
 { FileNameCaseSensitive is defined below! }
  maxExitCode = 255;
  maxExitCode = 255;
-
+ MaxPathLen = 256; 
+ 
 const
 const
   UnusedHandle    = -1;
   UnusedHandle    = -1;
   StdInputHandle  = 0;
   StdInputHandle  = 0;
@@ -56,6 +57,9 @@ var argc:longint;external name 'operatingsystem_parameter_argc';
 
 
 {
 {
   $Log: sysunixh.inc,v $
   $Log: sysunixh.inc,v $
+  Revision 1.27  2005/05/12 20:29:16  michael
+  + Added maxpathlen constant (maximum length of filename path)
+
   Revision 1.26  2005/04/03 21:10:59  hajny
   Revision 1.26  2005/04/03 21:10:59  hajny
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
 
 

+ 5 - 2
rtl/watcom/crt.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: crt.pp,v 1.5 2005/02/14 17:13:32 peter Exp $
+    $Id: crt.pp,v 1.6 2005/05/14 15:01:49 hajny Exp $
 
 
 }
 }
 
 
@@ -133,7 +133,7 @@ end;
 ****************************************************************************}
 ****************************************************************************}
 
 
 
 
-procedure textmode(mode : integer);
+procedure TextMode (Mode: word);
 
 
 var
 var
    regs : trealregs;
    regs : trealregs;
@@ -756,6 +756,9 @@ end.
 
 
 {
 {
   $Log: crt.pp,v $
   $Log: crt.pp,v $
+  Revision 1.6  2005/05/14 15:01:49  hajny
+    * TextMode parameter type changed to word for TP/BP compatibility
+
   Revision 1.5  2005/02/14 17:13:32  peter
   Revision 1.5  2005/02/14 17:13:32  peter
     * truncate log
     * truncate log
 
 

+ 10 - 5
rtl/watcom/system.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: system.pp,v 1.22 2005/04/13 20:10:50 florian Exp $
+    $Id: system.pp,v 1.24 2005/05/12 20:29:04 michael Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by the Free Pascal development team.
     Copyright (c) 1999-2000 by the Free Pascal development team.
 
 
@@ -44,7 +44,8 @@ const
  PathSeparator = ';';
  PathSeparator = ';';
 { FileNameCaseSensitive is defined separately below!!! }
 { FileNameCaseSensitive is defined separately below!!! }
  maxExitCode = 255;
  maxExitCode = 255;
-
+ MaxPathLen = 256;
+ 
 const
 const
 { Default filehandles }
 { Default filehandles }
   UnusedHandle    = -1;
   UnusedHandle    = -1;
@@ -304,9 +305,7 @@ var
        fillchar(argv[oldargvlen],(argvlen-oldargvlen)*sizeof(pointer),0);
        fillchar(argv[oldargvlen],(argvlen-oldargvlen)*sizeof(pointer),0);
        argv[idx]:=nil;
        argv[idx]:=nil;
      end;
      end;
-    { use realloc to reuse already existing memory }
-    if len<>0 then
-      sysreallocmem(argv[idx],len+1);
+     ArgV [Idx] := SysAllocMem (Succ (Len));
   end;
   end;
 
 
 begin
 begin
@@ -1541,6 +1540,12 @@ End.
 
 
 {
 {
   $Log: system.pp,v $
   $Log: system.pp,v $
+  Revision 1.24  2005/05/12 20:29:04  michael
+  + Added maxpathlen constant (maximum length of filename path)
+
+  Revision 1.23  2005/05/10 21:45:08  hajny
+    * fix for potential SIGSEGV during argv allocation
+
   Revision 1.22  2005/04/13 20:10:50  florian
   Revision 1.22  2005/04/13 20:10:50  florian
     + TThreadID
     + TThreadID
 
 

+ 6 - 3
rtl/win32/crt.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: crt.pp,v 1.24 2005/02/14 17:13:32 peter Exp $
+    $Id: crt.pp,v 1.25 2005/05/14 15:01:49 hajny Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by the Free Pascal development team.
     Copyright (c) 1999-2000 by the Free Pascal development team.
 
 
@@ -109,9 +109,9 @@ end;
 ****************************************************************************}
 ****************************************************************************}
 
 
 
 
-procedure textmode(mode : integer);
+procedure TextMode (Mode: word);
 begin
 begin
-  {!!! Not done yet !!! }
+  {$WARNING TextMode not implemented yet!!}
 end;
 end;
 
 
 Procedure TextColor(Color: Byte);
 Procedure TextColor(Color: Byte);
@@ -831,6 +831,9 @@ end. { unit Crt }
 
 
 {
 {
   $Log: crt.pp,v $
   $Log: crt.pp,v $
+  Revision 1.25  2005/05/14 15:01:49  hajny
+    * TextMode parameter type changed to word for TP/BP compatibility
+
   Revision 1.24  2005/02/14 17:13:32  peter
   Revision 1.24  2005/02/14 17:13:32  peter
     * truncate log
     * truncate log
 
 

+ 6 - 2
rtl/win32/system.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: system.pp,v 1.73 2005/04/03 21:10:59 hajny Exp $
+    $Id: system.pp,v 1.74 2005/05/12 20:29:04 michael Exp $
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
     Copyright (c) 1999-2000 by Florian Klaempfl and Pavel Ozerski
     Copyright (c) 1999-2000 by Florian Klaempfl and Pavel Ozerski
     member of the Free Pascal development team.
     member of the Free Pascal development team.
@@ -39,7 +39,8 @@ const
  PathSeparator = ';';
  PathSeparator = ';';
 { FileNameCaseSensitive is defined separately below!!! }
 { FileNameCaseSensitive is defined separately below!!! }
  maxExitCode = 65535;
  maxExitCode = 65535;
-
+ MaxPathLen = 260;
+ 
 type
 type
    PEXCEPTION_FRAME = ^TEXCEPTION_FRAME;
    PEXCEPTION_FRAME = ^TEXCEPTION_FRAME;
    TEXCEPTION_FRAME = record
    TEXCEPTION_FRAME = record
@@ -1108,6 +1109,9 @@ end.
 
 
 {
 {
   $Log: system.pp,v $
   $Log: system.pp,v $
+  Revision 1.74  2005/05/12 20:29:04  michael
+  + Added maxpathlen constant (maximum length of filename path)
+
   Revision 1.73  2005/04/03 21:10:59  hajny
   Revision 1.73  2005/04/03 21:10:59  hajny
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
     * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug 2453)
 
 

+ 1 - 1
tests/MPWMake

@@ -25,7 +25,7 @@ DIRS = :webtbs: :webtbf: :tbs: :tbf: :test: :test:cg: :test:cg:cdecl: :test:unit
 ################################
 ################################
 # Utilities
 # Utilities
 #
 #
-:utils:dotest Ä :utils:dotest.pp
+:utils:dotest Ä :utils:dotest.pp :utils:redir.pp
 	"{FPC}" -WT "{OPT}" -FE:utils: :utils:dotest.pp
 	"{FPC}" -WT "{OPT}" -FE:utils: :utils:dotest.pp
 
 
 :utils:digest Ä :utils:digest.pp
 :utils:digest Ä :utils:digest.pp

+ 43 - 20
tests/Makefile

@@ -1285,6 +1285,10 @@ ifneq ($(wildcard fpcmake.loc),)
 include fpcmake.loc
 include fpcmake.loc
 endif
 endif
 unexport FPC_VERSION
 unexport FPC_VERSION
+TEST_HOSTNAME:=$(shell hostname -s)
+ifeq ($(TEST_HOSTNAME),)
+TEST_HOSTNAME:=$(shell hostname)
+endif
 ifndef TEST_FPC
 ifndef TEST_FPC
 TEST_FPC=$(wildcard $(dir $(CURDIR))compiler/$(notdir $(FPC)))
 TEST_FPC=$(wildcard $(dir $(CURDIR))compiler/$(notdir $(FPC)))
 ifeq ($(TEST_FPC), )
 ifeq ($(TEST_FPC), )
@@ -1329,6 +1333,13 @@ endif
 endif
 endif
 endif
 endif
 TEST_OUTPUTDIR=output/$(TEST_FULL_TARGET)
 TEST_OUTPUTDIR=output/$(TEST_FULL_TARGET)
+TEST_DATETIME:=$(shell $(DATE) +%Y%m%d%H%M)
+ifndef TEST_USER
+TEST_USER=$(USER)
+endif
+DB_TARGZ=$(TEST_HOSTNAME)-$(TEST_DATETIME).tar.gz
[email protected]
+DB_UPLOADDIR=/home/fpc/testsuite/incoming
 ifndef FAILLIST
 ifndef FAILLIST
 export FAILLIST:=$(TEST_OUTPUTDIR)/faillist
 export FAILLIST:=$(TEST_OUTPUTDIR)/faillist
 endif
 endif
@@ -1351,9 +1362,6 @@ utils:
 	$(MAKE) -C utils utils
 	$(MAKE) -C utils utils
 utilsdb:
 utilsdb:
 	$(MAKE) -C utils utilsdb
 	$(MAKE) -C utils utilsdb
-ifndef DBDIGEST
-DBDIGEST=utils/dbdigest
-endif
 ifndef DIGEST
 ifndef DIGEST
 DIGEST=utils/digest
 DIGEST=utils/digest
 endif
 endif
@@ -1455,14 +1463,29 @@ distclean: clean fpc_distclean
 	$(DELTREE) output
 	$(DELTREE) output
 	$(MAKE) -C utils distclean
 	$(MAKE) -C utils distclean
 	-$(DEL) testprep-stamp.*
 	-$(DEL) testprep-stamp.*
-.PHONY: all full digest dailytest onlyknown onlygraph onlyinteractive
+.PHONY: all full digest onlyknown onlygraph onlyinteractive
 digest : utils
 digest : utils
 	-$(DIGEST) $(LOG)
 	-$(DIGEST) $(LOG)
-dbdigest: utilsdb
-	-$(DBDIGEST) -v $(TEST_FPC_VERSION) -o $(TEST_OS_TARGET) -c $(TEST_CPU_TARGET) -l $(LOG) $(DBDIGESTOPT)
+$(TEST_OUTPUTDIR)/dbdigest.cfg:
+	$(ECHOREDIR) "OS=$(TEST_OS_TARGET)" > $(TEST_OUTPUTDIR)/dbdigest.cfg
+	$(ECHOREDIR) "CPU=$(TEST_CPU_TARGET)" >> $(TEST_OUTPUTDIR)/dbdigest.cfg
+	$(ECHOREDIR) "Version=$(TEST_FPC_VERSION)" >> $(TEST_OUTPUTDIR)/dbdigest.cfg
+	$(ECHOREDIR) "LogFile=log" >> $(TEST_OUTPUTDIR)/dbdigest.cfg
+	$(ECHOREDIR) "Submitter=$(TEST_USER)" >> $(TEST_OUTPUTDIR)/dbdigest.cfg
+	$(ECHOREDIR) "Machine=$(TEST_HOSTNAME)" >> $(TEST_OUTPUTDIR)/dbdigest.cfg
+	$(ECHOREDIR) "Comment=$(TEST_OPT)" >> $(TEST_OUTPUTDIR)/dbdigest.cfg
+$(TEST_OUTPUTDIR)/tar.lst:
+	cd $(TEST_OUTPUTDIR) && find . -name '*.log' -or -name '*.elg' > tar.lst
+	$(ECHOREDIR) "log" >> $(TEST_OUTPUTDIR)/tar.lst
+	$(ECHOREDIR) "dbdigest.cfg" >> $(TEST_OUTPUTDIR)/tar.lst
+$(TEST_OUTPUTDIR)/$(DB_TARGZ): $(TEST_OUTPUTDIR)/tar.lst $(TEST_OUTPUTDIR)/dbdigest.cfg
+	cd $(TEST_OUTPUTDIR) && tar cfz $(DB_TARGZ) --files-from=tar.lst
+uploadrun: $(TEST_OUTPUTDIR)/$(DB_TARGZ)
+	scp $(TEST_OUTPUTDIR)/$(DB_TARGZ) $(DB_HOST):$(DB_UPLOADDIR)/$(DB_TARGZ).part
+	ssh $(DB_HOST) "mv $(DB_UPLOADDIR)/$(DB_TARGZ).part $(DB_UPLOADDIR)/$(DB_TARGZ)"
 all : allexectests
 all : allexectests
 full : clean allexectests digest
 full : clean allexectests digest
-fulldb : clean allexectests digest dbdigest
+fulldb : clean allexectests digest uploadrun
 onlyknown :
 onlyknown :
 	$(MAKE) full "DOTESTOPT= $(DOTESTOPT) -k-"
 	$(MAKE) full "DOTESTOPT= $(DOTESTOPT) -k-"
 onlygraph :
 onlygraph :
@@ -1472,15 +1495,16 @@ onlyinteractive :
 info :
 info :
 	@$(ECHO) "This Makefile allows to test the compiler"
 	@$(ECHO) "This Makefile allows to test the compiler"
 	@$(ECHO)
 	@$(ECHO)
-	@$(ECHO) "Targets:"
-	@$(ECHO) "  all   - continue all tests"
-	@$(ECHO) "  full  - clean and run all tests"
-	@$(ECHO) "  dailytest - run full and save results"
-	@$(ECHO) "              in files having the date as extension"
+	@$(ECHO) "Basic Targets:"
+	@$(ECHO) "  all    - continue all tests"
+	@$(ECHO) "  full   - clean and run all tests"
+	@$(ECHO) "  fulldb - full and upload test results"
+	@$(ECHO) "  digest - compute and print test statistics"
+	@$(ECHO)
+	@$(ECHO) "Advanced Targets:"
 	@$(ECHO) "  onlyknown - run only known bugs"
 	@$(ECHO) "  onlyknown - run only known bugs"
 	@$(ECHO) "  onlygraph - run only graph tests"
 	@$(ECHO) "  onlygraph - run only graph tests"
 	@$(ECHO) "  onlyinteractive - run only interactive tests"
 	@$(ECHO) "  onlyinteractive - run only interactive tests"
-	@$(ECHO) "  digest    - compute and print test statistics"
 	@$(ECHO)
 	@$(ECHO)
 	@$(ECHO) "Host environment:"
 	@$(ECHO) "Host environment:"
 	@$(ECHO) "  $(FULL_TARGET)"
 	@$(ECHO) "  $(FULL_TARGET)"
@@ -1489,10 +1513,9 @@ info :
 	@$(ECHO) "Test environment:"
 	@$(ECHO) "Test environment:"
 	@$(ECHO) "  $(TEST_FULL_TARGET)"
 	@$(ECHO) "  $(TEST_FULL_TARGET)"
 	@$(ECHO) "  compiler: $(TEST_FPC) ver: $(TEST_FPC_VERSION)"
 	@$(ECHO) "  compiler: $(TEST_FPC) ver: $(TEST_FPC_VERSION)"
-override DATESUFFIX:=$(shell $(DATE) +%Y.%m.%d)
-ifneq ($(wildcard log.$(DATESUFFIX)),)
-override DATESUFFIX=$(shell $(DATE) +%Y.%m.%d.%H.%M)
-endif
-ifneq ($(wildcard lastdate.txt),)
-LASTDATESUFFIX:=$(shell cat lastdate.txt)
-endif
+	@$(ECHO)
+	@$(ECHO) "Output settings:"
+	@$(ECHO) "  DateTime : $(TEST_DATETIME)"
+	@$(ECHO) "  Outputdir: $(TEST_OUTPUTDIR)"
+	@$(ECHO) "  Uploaddir: $(DB_UPLOADDIR)"
+	@$(ECHO) "  tar.gz   : $(DB_TARGZ)"

+ 51 - 24
tests/Makefile.fpc

@@ -16,6 +16,11 @@ unexport FPC_VERSION
 # Test environment setup
 # Test environment setup
 #
 #
 
 
+TEST_HOSTNAME:=$(shell hostname -s)
+ifeq ($(TEST_HOSTNAME),)
+TEST_HOSTNAME:=$(shell hostname)
+endif
+
 ifndef TEST_FPC
 ifndef TEST_FPC
 #Use development version of the compiler
 #Use development version of the compiler
 TEST_FPC=$(wildcard $(dir $(CURDIR))compiler/$(notdir $(FPC)))
 TEST_FPC=$(wildcard $(dir $(CURDIR))compiler/$(notdir $(FPC)))
@@ -69,6 +74,17 @@ endif
 # Target dir where the ppu and binaries are created
 # Target dir where the ppu and binaries are created
 TEST_OUTPUTDIR=output/$(TEST_FULL_TARGET)
 TEST_OUTPUTDIR=output/$(TEST_FULL_TARGET)
 
 
+# Date and time the testsuite was run
+TEST_DATETIME:=$(shell $(DATE) +%Y%m%d%H%M)
+
+ifndef TEST_USER
+TEST_USER=$(USER)
+endif
+
+# Testsuite upload
+DB_TARGZ=$(TEST_HOSTNAME)-$(TEST_DATETIME).tar.gz
[email protected]
+DB_UPLOADDIR=/home/fpc/testsuite/incoming
 
 
 ################################
 ################################
 # Misc
 # Misc
@@ -115,10 +131,6 @@ utils:
 utilsdb:
 utilsdb:
         $(MAKE) -C utils utilsdb
         $(MAKE) -C utils utilsdb
 
 
-ifndef DBDIGEST
-DBDIGEST=utils/dbdigest
-endif
-
 ifndef DIGEST
 ifndef DIGEST
 DIGEST=utils/digest
 DIGEST=utils/digest
 endif
 endif
@@ -297,19 +309,37 @@ distclean: clean fpc_distclean
 # Main rules
 # Main rules
 #
 #
 
 
-.PHONY: all full digest dailytest onlyknown onlygraph onlyinteractive
+.PHONY: all full digest onlyknown onlygraph onlyinteractive
 
 
 digest : utils
 digest : utils
         -$(DIGEST) $(LOG)
         -$(DIGEST) $(LOG)
 
 
-dbdigest: utilsdb
-        -$(DBDIGEST) -v $(TEST_FPC_VERSION) -o $(TEST_OS_TARGET) -c $(TEST_CPU_TARGET) -l $(LOG) $(DBDIGESTOPT)
+$(TEST_OUTPUTDIR)/dbdigest.cfg:
+        $(ECHOREDIR) "OS=$(TEST_OS_TARGET)" > $(TEST_OUTPUTDIR)/dbdigest.cfg
+        $(ECHOREDIR) "CPU=$(TEST_CPU_TARGET)" >> $(TEST_OUTPUTDIR)/dbdigest.cfg
+        $(ECHOREDIR) "Version=$(TEST_FPC_VERSION)" >> $(TEST_OUTPUTDIR)/dbdigest.cfg
+        $(ECHOREDIR) "LogFile=log" >> $(TEST_OUTPUTDIR)/dbdigest.cfg
+        $(ECHOREDIR) "Submitter=$(TEST_USER)" >> $(TEST_OUTPUTDIR)/dbdigest.cfg
+        $(ECHOREDIR) "Machine=$(TEST_HOSTNAME)" >> $(TEST_OUTPUTDIR)/dbdigest.cfg
+        $(ECHOREDIR) "Comment=$(TEST_OPT)" >> $(TEST_OUTPUTDIR)/dbdigest.cfg
+
+$(TEST_OUTPUTDIR)/tar.lst:
+        cd $(TEST_OUTPUTDIR) && find . -name '*.log' -or -name '*.elg' > tar.lst
+        $(ECHOREDIR) "log" >> $(TEST_OUTPUTDIR)/tar.lst
+        $(ECHOREDIR) "dbdigest.cfg" >> $(TEST_OUTPUTDIR)/tar.lst
+
+$(TEST_OUTPUTDIR)/$(DB_TARGZ): $(TEST_OUTPUTDIR)/tar.lst $(TEST_OUTPUTDIR)/dbdigest.cfg
+        cd $(TEST_OUTPUTDIR) && tar cfz $(DB_TARGZ) --files-from=tar.lst
+
+uploadrun: $(TEST_OUTPUTDIR)/$(DB_TARGZ)
+        scp $(TEST_OUTPUTDIR)/$(DB_TARGZ) $(DB_HOST):$(DB_UPLOADDIR)/$(DB_TARGZ).part
+        ssh $(DB_HOST) "mv $(DB_UPLOADDIR)/$(DB_TARGZ).part $(DB_UPLOADDIR)/$(DB_TARGZ)"
 
 
 all : allexectests
 all : allexectests
 
 
 full : clean allexectests digest
 full : clean allexectests digest
 
 
-fulldb : clean allexectests digest dbdigest
+fulldb : clean allexectests digest uploadrun
 
 
 onlyknown :
 onlyknown :
         $(MAKE) full "DOTESTOPT= $(DOTESTOPT) -k-"
         $(MAKE) full "DOTESTOPT= $(DOTESTOPT) -k-"
@@ -323,15 +353,16 @@ onlyinteractive :
 info :
 info :
         @$(ECHO) "This Makefile allows to test the compiler"
         @$(ECHO) "This Makefile allows to test the compiler"
         @$(ECHO)
         @$(ECHO)
-        @$(ECHO) "Targets:"
-        @$(ECHO) "  all   - continue all tests"
-        @$(ECHO) "  full  - clean and run all tests"
-        @$(ECHO) "  dailytest - run full and save results"
-        @$(ECHO) "              in files having the date as extension"
+        @$(ECHO) "Basic Targets:"
+        @$(ECHO) "  all    - continue all tests"
+        @$(ECHO) "  full   - clean and run all tests"
+        @$(ECHO) "  fulldb - full and upload test results"
+        @$(ECHO) "  digest - compute and print test statistics"
+        @$(ECHO)
+        @$(ECHO) "Advanced Targets:"
         @$(ECHO) "  onlyknown - run only known bugs"
         @$(ECHO) "  onlyknown - run only known bugs"
         @$(ECHO) "  onlygraph - run only graph tests"
         @$(ECHO) "  onlygraph - run only graph tests"
         @$(ECHO) "  onlyinteractive - run only interactive tests"
         @$(ECHO) "  onlyinteractive - run only interactive tests"
-        @$(ECHO) "  digest    - compute and print test statistics"
         @$(ECHO)
         @$(ECHO)
         @$(ECHO) "Host environment:"
         @$(ECHO) "Host environment:"
         @$(ECHO) "  $(FULL_TARGET)"
         @$(ECHO) "  $(FULL_TARGET)"
@@ -340,13 +371,9 @@ info :
         @$(ECHO) "Test environment:"
         @$(ECHO) "Test environment:"
         @$(ECHO) "  $(TEST_FULL_TARGET)"
         @$(ECHO) "  $(TEST_FULL_TARGET)"
         @$(ECHO) "  compiler: $(TEST_FPC) ver: $(TEST_FPC_VERSION)"
         @$(ECHO) "  compiler: $(TEST_FPC) ver: $(TEST_FPC_VERSION)"
-
-override DATESUFFIX:=$(shell $(DATE) +%Y.%m.%d)
-
-ifneq ($(wildcard log.$(DATESUFFIX)),)
-override DATESUFFIX=$(shell $(DATE) +%Y.%m.%d.%H.%M)
-endif
-
-ifneq ($(wildcard lastdate.txt),)
-LASTDATESUFFIX:=$(shell cat lastdate.txt)
-endif
+        @$(ECHO)
+        @$(ECHO) "Output settings:"
+        @$(ECHO) "  DateTime : $(TEST_DATETIME)"
+        @$(ECHO) "  Outputdir: $(TEST_OUTPUTDIR)"
+        @$(ECHO) "  Uploaddir: $(DB_UPLOADDIR)"
+        @$(ECHO) "  tar.gz   : $(DB_TARGZ)"

+ 3 - 3
tests/test/units/crt/tcrt.pp

@@ -1,6 +1,6 @@
 { %INTERACTIVE }
 { %INTERACTIVE }
 {
 {
-  $Id: tcrt.pp,v 1.1 2001/05/09 16:12:50 carl Exp $
+  $Id: tcrt.pp,v 1.2 2005/05/14 14:31:51 hajny Exp $
 
 
   Program to test CRT unit by Mark May.
   Program to test CRT unit by Mark May.
   Only standard TP functions are tested (except WhereX, WhereY).
   Only standard TP functions are tested (except WhereX, WhereY).
@@ -89,7 +89,7 @@ begin
   writeln ('The following line should then become blank from column 10');
   writeln ('The following line should then become blank from column 10');
   writeln ('12345678901234567890');
   writeln ('12345678901234567890');
   writeln;
   writeln;
-  writeln ('This line should dissapear.');
+  writeln ('This line should disappear.');
   writeln;
   writeln;
   writeln ('Between this line and the next, an empty line should appear.');
   writeln ('Between this line and the next, an empty line should appear.');
   writeln ('This is the next line, above which the empty one should appear');
   writeln ('This is the next line, above which the empty one should appear');
@@ -100,7 +100,7 @@ begin
   gotoxy (10,6);clreol;
   gotoxy (10,6);clreol;
   gotoxy (1,8);delline;
   gotoxy (1,8);delline;
   gotoxy (1,10); insline;
   gotoxy (1,10); insline;
-  gotoxy (17,13); clreol;
+  gotoxy (18,13); clreol;
   writeln ('end.');
   writeln ('end.');
   readkey;
   readkey;
 end.
 end.

文件差異過大導致無法顯示
+ 0 - 186
tests/utils/macos/LinkRunDir


+ 1 - 62
tests/utils/macos/LinkRunTests

@@ -1,62 +1 @@
-#Assembles, links and run tests of FreePascal
-#Param 1, the directory with the tests to perform.
-#Note versions can be either 2 or 3 fields, e g 1.1  1.0.10
-
-(Evaluate {0} =~ /(Å:)¨1[Â:]*/) > Dev:Null
-Set mydir {¨1}
-
-Set -e debugverbose 1
-Echo "** Assembles, links and run tests for MacOS **" 
-
-#Delete -i Å.o
-Set -e nrOfSucceded 0
-Set -e nrOfFailed 0
-
-#Set compiler version
-Set compver '1.9' #Must be at least two fields
-If `Evaluate "{compver}" !~ /([0-9]*)¨1.([0-9]*)¨2.([0-9]*)¨3/`
-  If `Evaluate "{compver}" !~ /([0-9]*)¨1.([0-9]*)¨2/`
-    Echo Error in compiler version no
-    Exit 1
-  Else
-    Set ¨3 0
-  End
-End
-Set -e cv1 {¨1};Set -e cv2 {¨2}; Set -e cv3 {¨3}
-
-Directory {1}units:
-
-#Iterate through files in :units:
-Set Exit 0 # To handle the case, in the for stmt, when there is no match
-For sourceWithExt In Å.s
-  Set Exit 1 #Revert error handling
-  (Evaluate "{sourceWithExt}" =~ /(([Â.])*)¨1Å/) > Dev:Null
-  Set unitname {¨1}
-  If `Exists {unitname}.o`
-    Continue
-  End
-  SetFile -c 'MPS ' -t 'TEXT' {unitname}_ppas
-  Execute {unitname}_ppas
-  Set Exit 0 # To handle the case, in the for stmt, when there is no match
-End
-Set Exit 1 #Revert error handling
-
-Directory {1}
-
-{mydir}LinkRunDir ':test:'
-{mydir}LinkRunDir ':test:cg:'
-{mydir}LinkRunDir ':test:cg:cdecl:'
-{mydir}LinkRunDir ':test:units:system:'
-{mydir}LinkRunDir ':test:units:strings:'
-{mydir}LinkRunDir ':test:units:objects:'
-{mydir}LinkRunDir ':test:units:math:'
-{mydir}LinkRunDir ':test:opt:'
-{mydir}LinkRunDir ':tbs:'
-{mydir}LinkRunDir ':tbf:'
-{mydir}LinkRunDir ':webtbs:'
-{mydir}LinkRunDir ':webtbf:'
-
-Echo "============================================================="
-Echo '** Test session finished. **'
-Echo "No of succeded tests: {nrOfSucceded}"
-Echo "No of failed tests: {nrOfFailed}"
+#Assembles, links and run tests of FreePascal
#Param 1, the directory with the tests to perform.
#Note versions can be either 2 or 3 fields, e g 1.1  1.0.10

(Evaluate {0} =~ /(Å:)¨1[Â:]*/) > Dev:Null
Set mydir {¨1}

Set -e debugverbose 1
Echo "** Assembles, links and run tests for MacOS **" 

#Delete -i Å.o
Set -e nrOfSucceded 0
Set -e nrOfFailed 0

#Set compiler version
Set compver '1.9' #Must be at least two fields
If `Evaluate "{compver}" !~ /([0-9]*)¨1.([0-9]*)¨2.([0-9]*)¨3/`
  If `Evaluate "{compver}" !~ /([0-9]*)¨1.([0-9]*)¨2/`
    Echo Error in compiler version no
    Exit 1
  Else
    Set ¨3 0
  End
End
Set -e cv1 {¨1};Set -e cv2 {¨2}; Set -e cv3 {¨3}

Directory {1}units:

#Iterate through files in :units:
Set Exit 0 # To handle the case, in the for stmt, when there is no match
For sourceWithExt In Å.s
  Set Exit 1 #Revert error handling
  (Evaluate "{sourceWithExt}" =~ /(([Â.])*)¨1Å/) > Dev:Null
  Set unitname {¨1}
  If `Exists {unitname}.o`
    Continue
  End
  SetFile -c 'MPS ' -t 'TEXT' {unitname}_ppas
  Execute {unitname}_ppas
  Set Exit 0 # To handle the case, in the for stmt, when there is no match
End
Set Exit 1 #Revert error handling

Directory {1}

{mydir}LinkRunDir ':test:'
{mydir}LinkRunDir ':test:cg:'
{mydir}LinkRunDir ':test:cg:cdecl:'
{mydir}LinkRunDir ':test:units:system:'
{mydir}LinkRunDir ':test:units:strings:'
{mydir}LinkRunDir ':test:units:objects:'
{mydir}LinkRunDir ':test:units:math:'
{mydir}LinkRunDir ':test:opt:'
{mydir}LinkRunDir ':tbs:'
{mydir}LinkRunDir ':tbf:'
{mydir}LinkRunDir ':webtbs:'
{mydir}LinkRunDir ':webtbf:'

Echo "============================================================="
Echo '** Test session finished. **'
#duesnt work:
#Echo "No of succeded tests: {nrOfSucceded}"
#Echo "No of failed tests: {nrOfFailed}"

+ 18 - 5
tests/utils/redir.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: redir.pp,v 1.21 2005/02/14 17:13:37 peter Exp $
+    $Id: redir.pp,v 1.22 2005/05/14 11:18:52 olle Exp $
     This file is part of the Free Pascal Test Suite
     This file is part of the Free Pascal Test Suite
     Copyright (c) 1999-2000 by Pierre Muller
     Copyright (c) 1999-2000 by Pierre Muller
 
 
@@ -835,18 +835,28 @@ begin
 
 
  CmdLine2 := ComLine;
  CmdLine2 := ComLine;
  if RedirStdIn <> '' then CmdLine2 := CmdLine2 + ' < ' + RedirStdIn;
  if RedirStdIn <> '' then CmdLine2 := CmdLine2 + ' < ' + RedirStdIn;
+
+ {$ifndef macos}
  if RedirStdOut <> '' then CmdLine2 := CmdLine2 + ' > ' + RedirStdOut;
  if RedirStdOut <> '' then CmdLine2 := CmdLine2 + ' > ' + RedirStdOut;
  if RedirStdErr <> '' then
  if RedirStdErr <> '' then
  begin
  begin
-  {$ifndef macos}
   if RedirStdErr = RedirStdOut then
   if RedirStdErr = RedirStdOut then
     CmdLine2 := CmdLine2 + ' 2>&1'
     CmdLine2 := CmdLine2 + ' 2>&1'
   else
   else
     CmdLine2 := CmdLine2 + ' 2> ' + RedirStdErr;
     CmdLine2 := CmdLine2 + ' 2> ' + RedirStdErr;
-  {$else macos}
-  CmdLine2 := CmdLine2 + ' ' + #179 + ' ' + RedirStdErr; {#179 is "greater or equal" char}
-  {$endif macos}
  end;
  end;
+ {$else macos}
+ if RedirStdErr <> RedirStdOut then
+   if RedirStdOut <> '' then CmdLine2 := CmdLine2 + ' > ' + RedirStdOut;
+ if RedirStdErr <> '' then
+ begin
+  if RedirStdErr = RedirStdOut then
+    CmdLine2 := CmdLine2 + ' ' + #183 + ' ' + RedirStdErr  {#183 is "capital sigma" char in MacRoman}
+  else
+    CmdLine2 := CmdLine2 + ' ' + #179 + ' ' + RedirStdErr; {#179 is "greater or equal" char in MacRoman}
+ end;
+ {$endif macos}
+
  DosExecute (ProgName, CmdLine2);
  DosExecute (ProgName, CmdLine2);
  ExecuteRedir:=(IOStatus=0) and (ExecuteResult=0);
  ExecuteRedir:=(IOStatus=0) and (ExecuteResult=0);
 end;
 end;
@@ -1017,6 +1027,9 @@ finalization
 End.
 End.
 {
 {
   $Log: redir.pp,v $
   $Log: redir.pp,v $
+  Revision 1.22  2005/05/14 11:18:52  olle
+    * Fix for MacOS when redirect stdout and stderr to same stream
+
   Revision 1.21  2005/02/14 17:13:37  peter
   Revision 1.21  2005/02/14 17:13:37  peter
     * truncate log
     * truncate log
 
 

+ 5 - 2
utils/fpdoc/dglobals.pp

@@ -1,5 +1,5 @@
 {
 {
-    $Id: dglobals.pp,v 1.11 2005/05/09 18:50:13 michael Exp $
+    $Id: dglobals.pp,v 1.12 2005/05/15 19:36:30 hajny Exp $
 
 
     FPDoc  -  Free Pascal Documentation Tool
     FPDoc  -  Free Pascal Documentation Tool
     Copyright (C) 2000 - 2002 by
     Copyright (C) 2000 - 2002 by
@@ -98,7 +98,7 @@ resourcestring
   SManUsagePackageDescription = 'Use descr as the description of man pages';
   SManUsagePackageDescription = 'Use descr as the description of man pages';
   
   
   // HTML usage
   // HTML usage
-  SHTMLUsageFooter = 'Append xhmtl from file as footer to html page';
+  SHTMLUsageFooter = 'Append xhtml from file as footer to html page';
 
 
   STitle                      = 'FPDoc - Free Pascal Documentation Tool';
   STitle                      = 'FPDoc - Free Pascal Documentation Tool';
   SCopyright                  = '(c) 2000 - 2003 Areca Systems GmbH / Sebastian Guenther, [email protected]';
   SCopyright                  = '(c) 2000 - 2003 Areca Systems GmbH / Sebastian Guenther, [email protected]';
@@ -1220,6 +1220,9 @@ end.
 
 
 {
 {
   $Log: dglobals.pp,v $
   $Log: dglobals.pp,v $
+  Revision 1.12  2005/05/15 19:36:30  hajny
+    * mistyping fixed (xhmtl)
+
   Revision 1.11  2005/05/09 18:50:13  michael
   Revision 1.11  2005/05/09 18:50:13  michael
   * Added patch from Vincent Snijders to add a footer to each HTML page
   * Added patch from Vincent Snijders to add a footer to each HTML page
 
 

部分文件因文件數量過多而無法顯示