Ver código fonte

* got rid of tpointerdef.update_savesize, overrode size instead

git-svn-id: trunk@24819 -
nickysn 12 anos atrás
pai
commit
5966cc088d
2 arquivos alterados com 8 adições e 10 exclusões
  1. 0 1
      compiler/pdecl.pas
  2. 8 9
      compiler/symdef.pas

+ 0 - 1
compiler/pdecl.pas

@@ -743,7 +743,6 @@ implementation
                            tpointerdef(hdef).x86pointertyp:=x86pt_near;
                          consume(_SEMICOLON);
                        end;
-                    tpointerdef(hdef).update_savesize;
 {$else x86}
                     { Previous versions of FPC support declaring a pointer as
                       far even on non-x86 platforms.

+ 8 - 9
compiler/symdef.pas

@@ -208,8 +208,8 @@ interface
           constructor create(def:tdef);
 {$ifdef x86}
           constructor createx86(def:tdef;x86typ:tx86pointertyp);
-          procedure update_savesize;
 {$endif x86}
+          function size:asizeint;override;
           function getcopy:tstoreddef;override;
           constructor ppuload(ppufile:tcompilerppufile);
           procedure ppuwrite(ppufile:tcompilerppufile);override;
@@ -2829,7 +2829,6 @@ implementation
         inherited create(pointerdef,def);
 {$ifdef x86}
         x86pointertyp := default_x86_data_pointer_type;
-        update_savesize;
 {$endif x86}
         has_pointer_math:=cs_pointermath in current_settings.localswitches;
       end;
@@ -2840,19 +2839,20 @@ implementation
       begin
         inherited create(pointerdef,def);
         x86pointertyp := x86typ;
-        update_savesize;
         has_pointer_math:=cs_pointermath in current_settings.localswitches;
       end;
+{$endif x86}
+
 
-    procedure tpointerdef.update_savesize;
+    function tpointerdef.size: asizeint;
       begin
+{$ifdef x86}
         if x86pointertyp in [x86pt_far,x86pt_huge] then
-          savesize:=sizeof(pint)+2
+          result:=sizeof(pint)+2
         else
-          savesize:=sizeof(pint);
-      end;
-
 {$endif x86}
+          result:=sizeof(pint);
+      end;
 
 
     constructor tpointerdef.ppuload(ppufile:tcompilerppufile);
@@ -2860,7 +2860,6 @@ implementation
          inherited ppuload(pointerdef,ppufile);
 {$ifdef x86}
          x86pointertyp:=tx86pointertyp(ppufile.getbyte);
-         update_savesize;
 {$endif x86}
          has_pointer_math:=(ppufile.getbyte<>0);
       end;