Browse Source

* fixed stabs writting for forward types

peter 26 years ago
parent
commit
e10d770cc3
3 changed files with 26 additions and 4 deletions
  1. 12 1
      compiler/pdecl.pas
  2. 8 1
      compiler/symdef.inc
  3. 6 2
      compiler/symtable.pas

+ 12 - 1
compiler/pdecl.pas

@@ -113,6 +113,14 @@ unit pdecl;
                      (srsym^.typ=typesym) then
                    begin
                      ppointerdef(pd)^.definition:=ptypesym(srsym)^.definition;
+{$ifdef GDB}
+                     if (cs_debuginfo in aktmoduleswitches) and assigned(debuglist) and
+                        (psym(p)^.owner^.symtabletype in [globalsymtable,staticsymtable]) then
+                      begin
+                        ptypesym(p)^.isusedinstab := true;
+                        psym(p)^.concatstabto(debuglist);
+                      end;
+{$endif GDB}
                      { we need a class type for classrefdef }
                      if (pd^.deftype=classrefdef) and
                         not((ptypesym(srsym)^.definition^.deftype=objectdef) and
@@ -2603,7 +2611,10 @@ unit pdecl;
 end.
 {
   $Log$
-  Revision 1.162  1999-10-03 19:44:42  peter
+  Revision 1.163  1999-10-06 17:39:14  peter
+    * fixed stabs writting for forward types
+
+  Revision 1.162  1999/10/03 19:44:42  peter
     * removed objpasunit reference, tvarrec is now searched in systemunit
       where it already was located
 

+ 8 - 1
compiler/symdef.inc

@@ -1451,6 +1451,10 @@
       var st,nb : string;
           sym_line_no : longint;
       begin
+      if assigned(definition) and
+         (definition^.deftype=forwarddef) then
+        exit;
+
       if ( (sym=nil) or sym^.isusedinstab or (cs_gdb_dbx in aktglobalswitches)) and
          not is_def_stab_written then
         begin
@@ -3862,7 +3866,10 @@ Const local_symtable_index : longint = $8001;
 
 {
   $Log$
-  Revision 1.170  1999-10-04 13:46:04  michael
+  Revision 1.171  1999-10-06 17:39:15  peter
+    * fixed stabs writting for forward types
+
+  Revision 1.170  1999/10/04 13:46:04  michael
   * patch from peter for classes
 
   Revision 1.169  1999/10/03 19:41:38  peter

+ 6 - 2
compiler/symtable.pas

@@ -916,7 +916,8 @@ implementation
       end;
 {$endif}
 
-    procedure write_refs(sym : pnamedindexobject);   begin
+    procedure write_refs(sym : pnamedindexobject);
+      begin
          psym(sym)^.write_references;
       end;
 
@@ -2348,7 +2349,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.52  1999-10-03 19:44:42  peter
+  Revision 1.53  1999-10-06 17:39:15  peter
+    * fixed stabs writting for forward types
+
+  Revision 1.52  1999/10/03 19:44:42  peter
     * removed objpasunit reference, tvarrec is now searched in systemunit
       where it already was located