Browse Source

* all formaldefs are now a sinlge definition
cformaldef (this was necessary for double_checksum)
+ small part of double_checksum code

pierre 26 years ago
parent
commit
5f410c2cd3
4 changed files with 33 additions and 8 deletions
  1. 8 2
      compiler/cg386inl.pas
  2. 8 2
      compiler/cg68kinl.pas
  3. 8 3
      compiler/pdecl.pas
  4. 9 1
      compiler/psystem.pas

+ 8 - 2
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

+ 8 - 2
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

+ 8 - 3
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

+ 9 - 1
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