Browse Source

* use of procsym field for correct gdb info in local procedures
* exported DLL vars made global to be able to use DLLTOOL with themz

pierre 26 years ago
parent
commit
be2b57963f
1 changed files with 10 additions and 4 deletions
  1. 10 4
      compiler/symsym.inc

+ 10 - 4
compiler/symsym.inc

@@ -514,8 +514,8 @@
         if (owner^.symtabletype=localsymtable) and assigned(owner^.name) then
         if (owner^.symtabletype=localsymtable) and assigned(owner^.name) then
          info := ','+name+','+owner^.name^;  }
          info := ','+name+','+owner^.name^;  }
         if (owner^.symtabletype=localsymtable) and assigned(owner^.defowner) and
         if (owner^.symtabletype=localsymtable) and assigned(owner^.defowner) and
-           assigned(owner^.defowner^.sym) then
-          info := ','+name+','+owner^.defowner^.sym^.name;
+           assigned(pprocdef(owner^.defowner)^.procsym) then
+          info := ','+name+','+pprocdef(owner^.defowner)^.procsym^.name;
       end;
       end;
      stabsstr:=definition^.mangledname;
      stabsstr:=definition^.mangledname;
      getmem(p,length(stabsstr)+255);
      getmem(p,length(stabsstr)+255);
@@ -1181,6 +1181,7 @@
 {$endif GDB}
 {$endif GDB}
 
 
                    if (cs_smartlink in aktmoduleswitches) or
                    if (cs_smartlink in aktmoduleswitches) or
+                      DLLSource or
                       (vo_is_C_var in varoptions) then
                       (vo_is_C_var in varoptions) then
                      bsssegment^.concat(new(pai_datablock,init_global(mangledname,l)))
                      bsssegment^.concat(new(pai_datablock,init_global(mangledname,l)))
                    else
                    else
@@ -1536,7 +1537,8 @@
         else
         else
           if owner^.symtabletype<>unitsymtable then
           if owner^.symtabletype<>unitsymtable then
             begin
             begin
-              if (cs_smartlink in aktmoduleswitches) then
+              if (cs_smartlink in aktmoduleswitches) or
+                 DLLSource then
                 curconstsegment^.concat(new(pai_symbol,initname_global(mangledname,getsize)))
                 curconstsegment^.concat(new(pai_symbol,initname_global(mangledname,getsize)))
               else
               else
                 curconstsegment^.concat(new(pai_symbol,initname(mangledname,getsize)));
                 curconstsegment^.concat(new(pai_symbol,initname(mangledname,getsize)));
@@ -2097,7 +2099,11 @@
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.110  1999-08-07 14:21:03  florian
+  Revision 1.111  1999-08-10 12:36:31  pierre
+   * use of procsym field for correct gdb info in local procedures
+   * exported DLL vars made global to be able to use DLLTOOL with themz
+
+  Revision 1.110  1999/08/07 14:21:03  florian
     * some small problems fixed
     * some small problems fixed
 
 
   Revision 1.109  1999/08/07 13:24:34  daniel
   Revision 1.109  1999/08/07 13:24:34  daniel