From 420309ec59166c347f56164294d4d524cfa2a519 Mon Sep 17 00:00:00 2001
From: florian <florian@freepascal.org>
Date: Sat, 16 May 2015 21:49:42 +0000
Subject: [PATCH] * reduce dependencies of the procinfo unit

git-svn-id: trunk@30871 -
---
 compiler/procinfo.pas | 23 ++++-------------------
 compiler/psub.pas     | 10 ++++++++++
 2 files changed, 14 insertions(+), 19 deletions(-)

diff --git a/compiler/procinfo.pas b/compiler/procinfo.pas
index 7682396336..e3b0f64c61 100644
--- a/compiler/procinfo.pas
+++ b/compiler/procinfo.pas
@@ -142,7 +142,7 @@ unit procinfo;
 
           procedure allocate_push_parasize(size:longint);
 
-          function calc_stackframe_size:longint;virtual;
+          function calc_stackframe_size:longint;virtual;abstract;
 
           { Set the address of the first temp, can be used to allocate
             space for pushing parameters }
@@ -190,12 +190,8 @@ unit procinfo;
 
 implementation
 
-     uses
-        cutils,systems,
-        tgobj,cgobj,
-        paramgr
-        ;
-
+    uses
+      cutils,systems;
 
 {****************************************************************************
                                  TProcInfo
@@ -277,7 +273,7 @@ implementation
     function tprocinfo.get_normal_proc: tprocinfo;
       begin
         result:=self;
-        while assigned(result.parent)and(result.procdef.parast.symtablelevel>normal_function_level) do
+        while assigned(result.parent) and (result.procdef.parast.symtablelevel>normal_function_level) do
           result:=result.parent;
       end;
 
@@ -301,18 +297,10 @@ implementation
           maxpushedparasize:=size;
       end;
 
-
-    function tprocinfo.calc_stackframe_size:longint;
-      begin
-        result:=Align(tg.direction*tg.lasttemp,current_settings.alignment.localalignmin);
-      end;
-
-
     procedure tprocinfo.set_first_temp_offset;
       begin
       end;
 
-
     procedure tprocinfo.generate_parameter_info;
       begin
         { generate callee paraloc register info, it initialises the size that
@@ -321,20 +309,17 @@ implementation
         para_stack_size:=procdef.calleeargareasize;
       end;
 
-
     procedure tprocinfo.allocate_got_register(list: TAsmList);
       begin
         { most os/cpu combo's don't use this yet, so not yet abstract }
       end;
 
-
     procedure tprocinfo.init_framepointer;
       begin
         { most targets use a constant, but some have a typed constant that must
           be initialized }
       end;
 
-
     procedure tprocinfo.postprocess_code;
       begin
         { no action by default }
diff --git a/compiler/psub.pas b/compiler/psub.pas
index 2efa50a706..97041e4f6f 100644
--- a/compiler/psub.pas
+++ b/compiler/psub.pas
@@ -54,7 +54,11 @@ interface
         final_asmnode : tasmnode;
         final_used : boolean;
         dfabuilder : TDFABuilder;
+
         destructor  destroy;override;
+
+        function calc_stackframe_size : longint;override;
+
         procedure printproc(pass:string);
         procedure generate_code;
         procedure generate_code_tree;
@@ -678,6 +682,12 @@ implementation
        end;
 
 
+    function tcgprocinfo.calc_stackframe_size:longint;
+      begin
+        result:=Align(tg.direction*tg.lasttemp,current_settings.alignment.localalignmin);
+      end;
+
+
     procedure tcgprocinfo.printproc(pass:string);
       begin
         assign(printnodefile,treelogfilename);