Browse Source

* make not of public assembler symbols for variables and classes if necessary

git-svn-id: trunk@34291 -
svenbarth 9 năm trước cách đây
mục cha
commit
bf3c7144b0
2 tập tin đã thay đổi với 6 bổ sung1 xóa
  1. 3 1
      compiler/pdecvar.pas
  2. 3 0
      compiler/ptconst.pas

+ 3 - 1
compiler/pdecvar.pas

@@ -60,7 +60,7 @@ implementation
 {$endif}
        fmodule,htypechk,
        { pass 1 }
-       node,pass_1,aasmdata,
+       node,pass_1,aasmbase,aasmdata,
        ncon,nmat,nadd,ncal,nset,ncnv,ninl,nld,nflw,nmem,nutils,
        { codegen }
        ncgutil,ngenutil,
@@ -1498,6 +1498,8 @@ implementation
                     not(vo_is_typed_const in vs.varoptions) and
                     not(vo_is_external in vs.varoptions) then
                    cnodeutils.insertbssdata(tstaticvarsym(vs));
+                 if vo_is_public in vs.varoptions then
+                   current_module.add_public_asmsym(vs.mangledname,AB_GLOBAL,AT_DATA);
                end;
 
              first:=false;

+ 3 - 0
compiler/ptconst.pas

@@ -124,6 +124,9 @@ implementation
               end;
           end;
 
+        if vo_is_public in sym.varoptions then
+          current_module.add_public_asmsym(sym.mangledname,AB_GLOBAL,AT_DATA);
+
         if not(target_info.system in systems_typed_constants_node_init) then
           begin
             { only now get the final asmlist, because inserting the symbol