Browse Source

* removed objpasunit reference, tvarrec is now searched in systemunit
where it already was located

peter 26 years ago
parent
commit
2d21165dd8
5 changed files with 33 additions and 18 deletions
  1. 8 1
      compiler/options.pas
  2. 5 2
      compiler/parser.pas
  3. 6 3
      compiler/pdecl.pas
  4. 9 9
      compiler/pmodules.pas
  5. 5 3
      compiler/symtable.pas

+ 8 - 1
compiler/options.pas

@@ -1040,12 +1040,15 @@ begin
 {$ifdef newcg}
   def_symbol('WITHNEWCG');
 {$endif}
+
 { Temporary defines, until things settle down }
   def_symbol('INT64');
   def_symbol('HASRESOURCESTRINGS');
   def_symbol('HASSAVEREGISTERS');
   def_symbol('NEWVMTOFFSET');
   def_symbol('HASINTERNMATH');
+  def_symbol('SYSTEMTVARREC');
+
 { some stuff for TP compatibility }
 {$ifdef i386}
   def_symbol('CPU86');
@@ -1225,7 +1228,11 @@ end;
 end.
 {
   $Log$
-  Revision 1.23  1999-09-20 16:38:59  peter
+  Revision 1.24  1999-10-03 19:44:41  peter
+    * removed objpasunit reference, tvarrec is now searched in systemunit
+      where it already was located
+
+  Revision 1.23  1999/09/20 16:38:59  peter
     * cs_create_smart instead of cs_smartlink
     * -CX is create smartlink
     * -CD is create dynamic, but does nothing atm.

+ 5 - 2
compiler/parser.pas

@@ -248,7 +248,6 @@ unit parser;
          symtablestack:=nil;
          defaultsymtablestack:=nil;
          systemunit:=nil;
-         objpasunit:=nil;
          refsymtable:=nil;
          aktprocsym:=nil;
          procprefix:='';
@@ -483,7 +482,11 @@ unit parser;
 end.
 {
   $Log$
-  Revision 1.86  1999-10-01 08:02:45  peter
+  Revision 1.87  1999-10-03 19:44:41  peter
+    * removed objpasunit reference, tvarrec is now searched in systemunit
+      where it already was located
+
+  Revision 1.86  1999/10/01 08:02:45  peter
     * forward type declaration rewritten
 
   Revision 1.85  1999/09/16 08:02:39  pierre

+ 6 - 3
compiler/pdecl.pas

@@ -1997,8 +1997,7 @@ unit pdecl;
                                begin
                                  consume(_CONST);
                                  srsym:=nil;
-                                 if assigned(objpasunit) then
-                                  getsymonlyin(objpasunit,'TVARREC');
+                                 getsymonlyin(systemunit,'TVARREC');
                                  if not assigned(srsym) then
                                   InternalError(1234124);
                                  Parraydef(p)^.definition:=ptypesym(srsym)^.definition;
@@ -2604,7 +2603,11 @@ unit pdecl;
 end.
 {
   $Log$
-  Revision 1.161  1999-10-01 11:18:02  peter
+  Revision 1.162  1999-10-03 19:44:42  peter
+    * removed objpasunit reference, tvarrec is now searched in systemunit
+      where it already was located
+
+  Revision 1.161  1999/10/01 11:18:02  peter
     * class/record type forward checking fixed
 
   Revision 1.159  1999/10/01 10:05:42  peter

+ 9 - 9
compiler/pmodules.pas

@@ -641,16 +641,12 @@ unit pmodules;
         if m_objpas in aktmodeswitches then
          begin
            hp:=loadunit('OBJPAS',false);
-           objpasunit:=hp^.globalsymtable;
-           { insert in stack }
-           objpasunit^.next:=symtablestack;
-           symtablestack:=objpasunit;
+           psymtable(hp^.globalsymtable)^.next:=symtablestack;
+           symtablestack:=hp^.globalsymtable;
            { add to the used units }
            current_module^.used_units.concat(new(pused_unit,init(hp,true)));
-           refsymtable^.insert(new(punitsym,init('OBJPAS',objpasunit)));
-         end
-        else
-         objpasunit:=nil;
+           refsymtable^.insert(new(punitsym,init('OBJPAS',hp^.globalsymtable)));
+         end;
       { Profile unit? Needed for go32v2 only }
         if (cs_profile in aktmoduleswitches) and (target_info.target=target_i386_go32v2) then
          begin
@@ -1459,7 +1455,11 @@ unit pmodules;
 end.
 {
   $Log$
-  Revision 1.157  1999-09-27 23:44:54  peter
+  Revision 1.158  1999-10-03 19:44:42  peter
+    * removed objpasunit reference, tvarrec is now searched in systemunit
+      where it already was located
+
+  Revision 1.157  1999/09/27 23:44:54  peter
     * procinfo is now a pointer
     * support for result setting in sub procedure
 

+ 5 - 3
compiler/symtable.pas

@@ -234,7 +234,6 @@ unit symtable;
 
     const
        systemunit           : punitsymtable = nil; { pointer to the system unit }
-       objpasunit           : punitsymtable = nil; { pointer to the objpas unit }
        current_object_option : tsymoptions = [sp_public];
 
     var
@@ -2316,7 +2315,6 @@ implementation
         read_member:=false;
         symtablestack:=nil;
         systemunit:=nil;
-        objpasunit:=nil;
 {$ifdef GDB}
         firstglobaldef:=nil;
         lastglobaldef:=nil;
@@ -2350,7 +2348,11 @@ implementation
 end.
 {
   $Log$
-  Revision 1.51  1999-10-01 08:02:49  peter
+  Revision 1.52  1999-10-03 19:44:42  peter
+    * removed objpasunit reference, tvarrec is now searched in systemunit
+      where it already was located
+
+  Revision 1.51  1999/10/01 08:02:49  peter
     * forward type declaration rewritten
 
   Revision 1.50  1999/09/28 20:48:25  florian