Forráskód Böngészése

+ added virtual methods tabstractprocdef.declared_far and .declared_near, which
are called, when the 'near' or 'far' directive is parsed in a procedure
definition. This allows overriding and implementing them on architectures,
which support near and far calls.

git-svn-id: trunk@27545 -

nickysn 11 éve
szülő
commit
89584164b1
2 módosított fájl, 16 hozzáadás és 2 törlés
  1. 2 2
      compiler/pdecsub.pas
  2. 14 0
      compiler/symdef.pas

+ 2 - 2
compiler/pdecsub.pas

@@ -1408,12 +1408,12 @@ implementation
 
 procedure pd_far(pd:tabstractprocdef);
 begin
-  Message1(parser_w_proc_directive_ignored,'FAR');
+  pd.declared_far;
 end;
 
 procedure pd_near(pd:tabstractprocdef);
 begin
-  Message1(parser_w_proc_directive_ignored,'NEAR');
+  pd.declared_near;
 end;
 
 procedure pd_export(pd:tabstractprocdef);

+ 14 - 0
compiler/symdef.pas

@@ -575,6 +575,8 @@ interface
           function stack_tainting_parameter(side: tcallercallee): boolean;
           function is_pushleftright: boolean;
           function address_type:tdef;
+          procedure declared_far;virtual;
+          procedure declared_near;virtual;
        private
           procedure count_para(p:TObject;arg:pointer);
           procedure insert_para(p:TObject;arg:pointer);
@@ -4495,6 +4497,18 @@ implementation
       end;
 
 
+    procedure tabstractprocdef.declared_far;
+      begin
+        Message1(parser_w_proc_directive_ignored,'FAR');
+      end;
+
+
+    procedure tabstractprocdef.declared_near;
+      begin
+        Message1(parser_w_proc_directive_ignored,'NEAR');
+      end;
+
+
 {***************************************************************************
                                   TPROCDEF
 ***************************************************************************}