Kaynağa Gözat

+ override set_labelsym_resultdef for i8086 and set a near pointer resultdef if
the anf_ofs flag is set

git-svn-id: trunk@38677 -

nickysn 7 yıl önce
ebeveyn
işleme
dadd5568db
1 değiştirilmiş dosya ile 10 ekleme ve 0 silme
  1. 10 0
      compiler/i8086/n8086mem.pas

+ 10 - 0
compiler/i8086/n8086mem.pas

@@ -34,6 +34,7 @@ interface
     type
     type
        ti8086addrnode = class(ti86addrnode)
        ti8086addrnode = class(ti86addrnode)
         protected
         protected
+         procedure set_labelsym_resultdef; override;
          procedure set_absvarsym_resultdef; override;
          procedure set_absvarsym_resultdef; override;
          procedure pass_generate_code;override;
          procedure pass_generate_code;override;
         public
         public
@@ -68,6 +69,15 @@ implementation
                              TI8086ADDRNODE
                              TI8086ADDRNODE
 *****************************************************************************}
 *****************************************************************************}
 
 
+    procedure ti8086addrnode.set_labelsym_resultdef;
+      begin
+        if anf_ofs in addrnodeflags then
+          resultdef:=voidnearcspointertype
+        else
+          inherited;
+      end;
+
+
     procedure ti8086addrnode.set_absvarsym_resultdef;
     procedure ti8086addrnode.set_absvarsym_resultdef;
       begin
       begin
         if not(anf_typedaddr in addrnodeflags) then
         if not(anf_typedaddr in addrnodeflags) then