From 5f410c2cd3e4dcb436b00e1a61ed6b35c99740e0 Mon Sep 17 00:00:00 2001 From: pierre Date: Wed, 7 Apr 1999 15:31:12 +0000 Subject: [PATCH] * all formaldefs are now a sinlge definition cformaldef (this was necessary for double_checksum) + small part of double_checksum code --- compiler/cg386inl.pas | 10 ++++++++-- compiler/cg68kinl.pas | 10 ++++++++-- compiler/pdecl.pas | 11 ++++++++--- compiler/psystem.pas | 10 +++++++++- 4 files changed, 33 insertions(+), 8 deletions(-) diff --git a/compiler/cg386inl.pas b/compiler/cg386inl.pas index d87d6a87e0..abd57155e0 100644 --- a/compiler/cg386inl.pas +++ b/compiler/cg386inl.pas @@ -194,7 +194,8 @@ implementation { because of secondcallparan, which otherwise attaches } if ft=ft_typed then { this is to avoid copy of simple const parameters } - dummycoll.data:=new(pformaldef,init) + {dummycoll.data:=new(pformaldef,init)} + dummycoll.data:=cformaldef else { I think, this isn't a good solution (FK) } dummycoll.data:=nil; @@ -1277,7 +1278,12 @@ implementation end. { $Log$ - Revision 1.38 1999-04-05 11:07:26 jonas + Revision 1.39 1999-04-07 15:31:16 pierre + * all formaldefs are now a sinlge definition + cformaldef (this was necessary for double_checksum) + + small part of double_checksum code + + Revision 1.38 1999/04/05 11:07:26 jonas * fixed some typos in the constants of the range checking for Val Revision 1.37 1999/04/01 22:07:51 peter diff --git a/compiler/cg68kinl.pas b/compiler/cg68kinl.pas index 1fd1a7ad59..4a76357d49 100644 --- a/compiler/cg68kinl.pas +++ b/compiler/cg68kinl.pas @@ -190,7 +190,8 @@ implementation { because of secondcallparan, which otherwise attaches } if ft=ft_typed then { this is to avoid copy of simple const parameters } - dummycoll.data:=new(pformaldef,init) + {dummycoll.data:=new(pformaldef,init)} + dummycoll.data:=cformaldef else { I think, this isn't a good solution (FK) } dummycoll.data:=nil; @@ -899,7 +900,12 @@ implementation end. { $Log$ - Revision 1.15 1998-12-11 00:03:03 peter + Revision 1.16 1999-04-07 15:31:18 pierre + * all formaldefs are now a sinlge definition + cformaldef (this was necessary for double_checksum) + + small part of double_checksum code + + Revision 1.15 1998/12/11 00:03:03 peter + globtype,tokens,version unit splitted from globals Revision 1.14 1998/11/05 12:02:38 peter diff --git a/compiler/pdecl.pas b/compiler/pdecl.pas index dfec6a76a0..da4bdc38f9 100644 --- a/compiler/pdecl.pas +++ b/compiler/pdecl.pas @@ -824,7 +824,7 @@ unit pdecl; hp:=single_type(s); end else - hp:=new(pformaldef,init); + hp:=cformaldef; s:=sc^.get_with_tokeninfo(declarepos); while s<>'' do begin @@ -1713,7 +1713,7 @@ unit pdecl; p:=single_type(s); end else - p:=new(pformaldef,init); + p:=cformaldef; while not sc^.empty do begin s:=sc^.get; @@ -2240,7 +2240,12 @@ unit pdecl; end. { $Log$ - Revision 1.105 1999-03-26 00:05:34 peter + Revision 1.106 1999-04-07 15:31:15 pierre + * all formaldefs are now a sinlge definition + cformaldef (this was necessary for double_checksum) + + small part of double_checksum code + + Revision 1.105 1999/03/26 00:05:34 peter * released valintern + deffile is now removed when compiling is finished * ^( compiles now correct diff --git a/compiler/psystem.pas b/compiler/psystem.pas index d6dc050725..3b04230e97 100644 --- a/compiler/psystem.pas +++ b/compiler/psystem.pas @@ -84,6 +84,7 @@ begin p^.insert(new(ptypesym,init('ulong',u32bitdef))); p^.insert(new(ptypesym,init('void',voiddef))); p^.insert(new(ptypesym,init('char',cchardef))); + p^.insert(new(ptypesym,init('formal',cformaldef))); {$ifdef INT64} p^.insert(new(ptypesym,init('qword',cu64bitdef))); p^.insert(new(ptypesym,init('int64',cs64bitintdef))); @@ -175,6 +176,7 @@ procedure readconstdefs; begin s32bitdef:=porddef(globaldef('longint')); u32bitdef:=porddef(globaldef('ulong')); + cformaldef:=pformaldef(globaldef('formal')); {$ifdef INT64} cu64bitdef:=porddef(globaldef('qword')); cs64bitintdef:=porddef(globaldef('int64')); @@ -219,6 +221,7 @@ begin u16bitdef:=new(porddef,init(u16bit,0,65535)); u32bitdef:=new(porddef,init(u32bit,0,$ffffffff)); s32bitdef:=new(porddef,init(s32bit,$80000000,$7fffffff)); + cformaldef:=new(pformaldef,init); {$ifdef INT64} cu64bitdef:=new(porddef,init(u64bit,0,0)); cs64bitintdef:=new(porddef,init(s64bitint,0,0)); @@ -256,7 +259,12 @@ end; end. { $Log$ - Revision 1.18 1999-03-26 00:05:40 peter + Revision 1.19 1999-04-07 15:31:12 pierre + * all formaldefs are now a sinlge definition + cformaldef (this was necessary for double_checksum) + + small part of double_checksum code + + Revision 1.18 1999/03/26 00:05:40 peter * released valintern + deffile is now removed when compiling is finished * ^( compiles now correct