浏览代码

+ getlocaldatalabel()

git-svn-id: branches/hlcgllvm@30337 -
Jonas Maebe 10 年之前
父节点
当前提交
560fe24c44
共有 1 个文件被更改,包括 9 次插入0 次删除
  1. 9 0
      compiler/aasmdata.pas

+ 9 - 0
compiler/aasmdata.pas

@@ -173,6 +173,7 @@ interface
         procedure getjumplabel(out l : TAsmLabel);
         procedure getjumplabel(out l : TAsmLabel);
         procedure getglobaljumplabel(out l : TAsmLabel);
         procedure getglobaljumplabel(out l : TAsmLabel);
         procedure getaddrlabel(out l : TAsmLabel);
         procedure getaddrlabel(out l : TAsmLabel);
+        procedure getlocaldatalabel(out l : TAsmLabel);
         procedure getglobaldatalabel(out l : TAsmLabel);
         procedure getglobaldatalabel(out l : TAsmLabel);
         { generate an alternative (duplicate) symbol }
         { generate an alternative (duplicate) symbol }
         procedure GenerateAltSymbol(p:TAsmSymbol);
         procedure GenerateAltSymbol(p:TAsmSymbol);
@@ -510,6 +511,7 @@ implementation
         inc(FNextLabelNr[alt_jump]);
         inc(FNextLabelNr[alt_jump]);
       end;
       end;
 
 
+
     procedure TAsmData.getglobaldatalabel(out l : TAsmLabel);
     procedure TAsmData.getglobaldatalabel(out l : TAsmLabel);
       begin
       begin
         l:=TAsmLabel.createglobal(AsmSymbolDict,name^,FNextLabelNr[alt_data],alt_data);
         l:=TAsmLabel.createglobal(AsmSymbolDict,name^,FNextLabelNr[alt_data],alt_data);
@@ -517,6 +519,13 @@ implementation
       end;
       end;
 
 
 
 
+    procedure TAsmData.getlocaldatalabel(out l: TAsmLabel);
+      begin
+        l:=TAsmLabel.createlocal(AsmSymbolDict,FNextLabelNr[alt_data],alt_data);
+        inc(FNextLabelNr[alt_data]);
+      end;
+
+
     procedure TAsmData.getaddrlabel(out l : TAsmLabel);
     procedure TAsmData.getaddrlabel(out l : TAsmLabel);
       begin
       begin
         l:=TAsmLabel.createlocal(AsmSymbolDict,FNextLabelNr[alt_addr],alt_addr);
         l:=TAsmLabel.createlocal(AsmSymbolDict,FNextLabelNr[alt_addr],alt_addr);