Sfoglia il codice sorgente

* made m68k to compile again

Károly Balogh 20 anni fa
parent
commit
6bae9c8f6d

+ 9 - 13
compiler/m68k/agcpugas.pas

@@ -96,21 +96,21 @@ interface
      gas_opsize2str : array[topsize] of string[2] =
      gas_opsize2str : array[topsize] of string[2] =
      ('','.b','.w','.l','.s','.d','.x',''
      ('','.b','.w','.l','.s','.d','.x',''
      );
      );
-
-     gas_reg2str : reg2strtable =
+{
+     gas_reg2str : treg2strtable =
       ('', '%d0','%d1','%d2','%d3','%d4','%d5','%d6','%d7',
       ('', '%d0','%d1','%d2','%d3','%d4','%d5','%d6','%d7',
        '%a0','%a1','%a2','%a3','%a4','%a5','%a6','%sp',
        '%a0','%a1','%a2','%a3','%a4','%a5','%a6','%sp',
        '-(%sp)','(%sp)+',
        '-(%sp)','(%sp)+',
        '%ccr','%fp0','%fp1','%fp2','%fp3','%fp4','%fp5',
        '%ccr','%fp0','%fp1','%fp2','%fp3','%fp4','%fp5',
        '%fp6','%fp7','%fpcr','%sr','%ssp','%dfc',
        '%fp6','%fp7','%fpcr','%sr','%ssp','%dfc',
        '%sfc','%vbr','%fpsr');
        '%sfc','%vbr','%fpsr');
-
+}
 
 
   implementation
   implementation
 
 
     uses
     uses
       cutils,systems,
       cutils,systems,
-      cgbase,
+      cgbase,cgutils,
       verbose,itcpugas;
       verbose,itcpugas;
 
 
 
 
@@ -345,16 +345,9 @@ interface
             asmbin : 'as';
             asmbin : 'as';
             asmcmd : '-o $OBJ $ASM';
             asmcmd : '-o $OBJ $ASM';
             supported_target : system_any;
             supported_target : system_any;
-            outputbinary: false;
-            allowdirect : true;
-            needar : true;
-            labelprefix_only_inside_procedure : false;
+            flags : [af_allowdirect,af_needar,af_smartlink_sections];
             labelprefix : '.L';
             labelprefix : '.L';
             comment : '# ';
             comment : '# ';
-            secnames : ('',
-              '.text','.data','.bss',
-              '','','','','','',
-              '.stab','.stabstr','COMMON')
           );
           );
 
 
 initialization
 initialization
@@ -362,7 +355,10 @@ initialization
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.13  2004-06-20 08:55:31  florian
+  Revision 1.14  2005-01-08 04:10:36  karoly
+    * made m68k to compile again
+
+  Revision 1.13  2004/06/20 08:55:31  florian
     * logs truncated
     * logs truncated
 
 
   Revision 1.12  2004/06/16 20:07:10  florian
   Revision 1.12  2004/06/16 20:07:10  florian

+ 101 - 92
compiler/m68k/cgcpu.pas

@@ -20,6 +20,7 @@
 
 
  ****************************************************************************
  ****************************************************************************
 }
 }
+{$WARNINGS OFF}
 unit cgcpu;
 unit cgcpu;
 
 
 {$i fpcdefs.inc}
 {$i fpcdefs.inc}
@@ -61,17 +62,21 @@ unit cgcpu;
         procedure a_jmp_flags(list : taasmoutput;const f : TResFlags;l: tasmlabel); override;
         procedure a_jmp_flags(list : taasmoutput;const f : TResFlags;l: tasmlabel); override;
         procedure g_flags2reg(list: taasmoutput; size: TCgSize; const f: tresflags; reg: TRegister); override;
         procedure g_flags2reg(list: taasmoutput; size: TCgSize; const f: tresflags; reg: TRegister); override;
 
 
-        procedure g_concatcopy(list : taasmoutput;const source,dest : treference;len : aint;delsource,loadref : boolean);override;
+        procedure g_concatcopy(list : taasmoutput;const source,dest : treference;len : aint);override;
         { generates overflow checking code for a node }
         { generates overflow checking code for a node }
         procedure g_overflowcheck(list: taasmoutput; const l:tlocation; def:tdef); override;
         procedure g_overflowcheck(list: taasmoutput; const l:tlocation; def:tdef); override;
-        procedure g_copyvaluepara_openarray(list : taasmoutput;const ref:treference;const lenloc:tlocation;elesize:aint); override;
-        procedure g_stackframe_entry(list : taasmoutput;localsize : longint);override;
-        procedure g_restore_frame_pointer(list : taasmoutput);override;
-        procedure g_return_from_proc(list : taasmoutput;parasize : aint);override;
+        procedure g_copyvaluepara_openarray(list : taasmoutput;const ref:treference;const lenloc:tlocation;elesize:aint;destreg:tregister);override;
+
+        procedure g_proc_entry(list : taasmoutput;localsize : longint;nostackframe:boolean);override;
+        procedure g_proc_exit(list : taasmoutput;parasize:longint;nostackframe:boolean);override;
+
+//        procedure g_restore_frame_pointer(list : taasmoutput);override;
+//        procedure g_return_from_proc(list : taasmoutput;parasize : aint);override;
         procedure g_restore_standard_registers(list:Taasmoutput);override;
         procedure g_restore_standard_registers(list:Taasmoutput);override;
         procedure g_save_standard_registers(list:Taasmoutput);override;
         procedure g_save_standard_registers(list:Taasmoutput);override;
-        procedure g_save_all_registers(list : taasmoutput);override;
-        procedure g_restore_all_registers(list : taasmoutput;const funcretparaloc:TCGPara);override;
+
+//        procedure g_save_all_registers(list : taasmoutput);override;
+//        procedure g_restore_all_registers(list : taasmoutput;const funcretparaloc:TCGPara);override;
      protected
      protected
         function fixref(list: taasmoutput; var ref: treference): boolean;
         function fixref(list: taasmoutput; var ref: treference): boolean;
      private
      private
@@ -85,7 +90,7 @@ unit cgcpu;
 
 
      tcg64f68k = class(tcg64f32)
      tcg64f68k = class(tcg64f32)
        procedure a_op64_reg_reg(list : taasmoutput;op:TOpCG;regsrc,regdst : tregister64);override;
        procedure a_op64_reg_reg(list : taasmoutput;op:TOpCG;regsrc,regdst : tregister64);override;
-       procedure a_op64_const_reg(list : taasmoutput;op:TOpCG;value : qword;reg : tregister64);override;
+       procedure a_op64_const_reg(list : taasmoutput;op:TOpCG;value : int64;regdst : tregister64);override;
      end;
      end;
 
 
      { This function returns true if the reference+offset is valid.
      { This function returns true if the reference+offset is valid.
@@ -108,10 +113,9 @@ unit cgcpu;
   implementation
   implementation
 
 
     uses
     uses
-       globtype,globals,verbose,systems,cutils,
+       globals,verbose,systems,cutils,
        symdef,symsym,defutil,paramgr,procinfo,
        symdef,symsym,defutil,paramgr,procinfo,
-       rgobj,tgobj,rgcpu,
-       cgutils;
+       rgobj,tgobj,rgcpu;
 
 
 
 
     const
     const
@@ -428,14 +432,15 @@ unit cgcpu;
                    begin
                    begin
                      r:=NR_D0;
                      r:=NR_D0;
                      r2:=NR_D1;
                      r2:=NR_D1;
-                     getcpuregister(list,NR_D0);
-                     getcpuregister(list,NR_D1);
+		     cg.getcpuregister(list,NR_D0);
+                     cg.getcpuregister(list,NR_D1);
                      list.concat(taicpu.op_const_reg(A_MOVE,S_L,a, r));
                      list.concat(taicpu.op_const_reg(A_MOVE,S_L,a, r));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg, r2));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg, r2));
                      cg.a_call_name(list,'FPC_MUL_LONGINT');
                      cg.a_call_name(list,'FPC_MUL_LONGINT');
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,r, reg));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,r, reg));
-                     ungetregister(list,r);
-                     ungetregister(list,r2);
+                     cg.ungetcpuregister(list,r);
+                     cg.ungetcpuregister(list,r2);
+		     
                    end
                    end
                   else
                   else
                     begin
                     begin
@@ -445,7 +450,7 @@ unit cgcpu;
                          list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg, scratch_reg));
                          list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg, scratch_reg));
                          list.concat(taicpu.op_const_reg(A_MULS,S_L,a,scratch_reg));
                          list.concat(taicpu.op_const_reg(A_MULS,S_L,a,scratch_reg));
                          list.concat(taicpu.op_reg_reg(A_MOVE,S_L,scratch_reg,reg));
                          list.concat(taicpu.op_reg_reg(A_MOVE,S_L,scratch_reg,reg));
-                         cg.ungetregister(list,scratch_reg);
+                         cg.ungetcpuregister(list,scratch_reg);
                        end
                        end
                       else
                       else
                          list.concat(taicpu.op_const_reg(A_MULS,S_L,a,reg));
                          list.concat(taicpu.op_const_reg(A_MULS,S_L,a,reg));
@@ -457,14 +462,14 @@ unit cgcpu;
                    begin
                    begin
                      r:=NR_D0;
                      r:=NR_D0;
                      r2:=NR_D1;
                      r2:=NR_D1;
-                     getcpuregister(list,NR_D0);
-                     getcpuregister(list,NR_D1);
+                     cg.getcpuregister(list,NR_D0);
+                     cg.getcpuregister(list,NR_D1);
                      list.concat(taicpu.op_const_reg(A_MOVE,S_L,a, r));
                      list.concat(taicpu.op_const_reg(A_MOVE,S_L,a, r));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg, r2));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg, r2));
                      cg.a_call_name(list,'FPC_MUL_LONGWORD');
                      cg.a_call_name(list,'FPC_MUL_LONGWORD');
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,r, reg));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,r, reg));
-                     ungetregister(list,r);
-                     ungetregister(list,r2);
+                     cg.ungetcpuregister(list,r);
+                     cg.ungetcpuregister(list,r2);
                    end
                    end
                   else
                   else
                     begin
                     begin
@@ -474,7 +479,7 @@ unit cgcpu;
                          list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg, scratch_reg));
                          list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg, scratch_reg));
                          list.concat(taicpu.op_const_reg(A_MULU,S_L,a,scratch_reg));
                          list.concat(taicpu.op_const_reg(A_MULU,S_L,a,scratch_reg));
                          list.concat(taicpu.op_reg_reg(A_MOVE,S_L,scratch_reg,reg));
                          list.concat(taicpu.op_reg_reg(A_MOVE,S_L,scratch_reg,reg));
-                         cg.ungetregister(list,scratch_reg);
+                         cg.ungetcpuregister(list,scratch_reg);
                        end
                        end
                       else
                       else
                          list.concat(taicpu.op_const_reg(A_MULU,S_L,a,reg));
                          list.concat(taicpu.op_const_reg(A_MULU,S_L,a,reg));
@@ -493,7 +498,7 @@ unit cgcpu;
                        list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg, scratch_reg));
                        list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg, scratch_reg));
                        list.concat(taicpu.op_const_reg(opcode,S_L,a, scratch_reg));
                        list.concat(taicpu.op_const_reg(opcode,S_L,a, scratch_reg));
                        list.concat(taicpu.op_reg_reg(A_MOVE,S_L,scratch_reg,reg));
                        list.concat(taicpu.op_reg_reg(A_MOVE,S_L,scratch_reg,reg));
-                       cg.ungetregister(list,scratch_reg);
+                       cg.ungetcpuregister(list,scratch_reg);
                      end
                      end
                    else
                    else
                      list.concat(taicpu.op_const_reg(opcode,S_L,a, reg));
                      list.concat(taicpu.op_const_reg(opcode,S_L,a, reg));
@@ -510,11 +515,11 @@ unit cgcpu;
                        list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg, scratch_reg2));
                        list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg, scratch_reg2));
                        list.concat(taicpu.op_reg_reg(opcode,S_L,scratch_reg, scratch_reg2));
                        list.concat(taicpu.op_reg_reg(opcode,S_L,scratch_reg, scratch_reg2));
                        list.concat(taicpu.op_reg_reg(A_MOVE,S_L,scratch_reg2,reg));
                        list.concat(taicpu.op_reg_reg(A_MOVE,S_L,scratch_reg2,reg));
-                       cg.ungetregister(list,scratch_reg2);
+                       cg.ungetcpuregister(list,scratch_reg2);
                      end
                      end
                    else
                    else
                      list.concat(taicpu.op_reg_reg(opcode,S_L,scratch_reg, reg));
                      list.concat(taicpu.op_reg_reg(opcode,S_L,scratch_reg, reg));
-                   cg.ungetregister(list,scratch_reg);
+                   cg.ungetcpuregister(list,scratch_reg);
                  end;
                  end;
               end;
               end;
           OP_SUB :
           OP_SUB :
@@ -597,12 +602,12 @@ unit cgcpu;
                   end;
                   end;
 
 
                  if reg1 <> hreg1 then
                  if reg1 <> hreg1 then
-                    cg.ungetregister(list,hreg1);
+                    cg.ungetcpuregister(list,hreg1);
                  { move back result into destination register }
                  { move back result into destination register }
                  if reg2 <> hreg2 then
                  if reg2 <> hreg2 then
                    begin
                    begin
                       list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg2,reg2));
                       list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg2,reg2));
-                      cg.ungetregister(list,hreg2);
+                      cg.ungetcpuregister(list,hreg2);
                    end;
                    end;
               end;
               end;
           OP_DIV :
           OP_DIV :
@@ -621,14 +626,14 @@ unit cgcpu;
                    begin
                    begin
                      r:=NR_D0;
                      r:=NR_D0;
                      r2:=NR_D1;
                      r2:=NR_D1;
-                     getcpuregister(list,NR_D0);
-                     getcpuregister(list,NR_D1);
+                     cg.getcpuregister(list,NR_D0);
+                     cg.getcpuregister(list,NR_D1);
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg1, r));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg1, r));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg2, r2));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg2, r2));
                      cg.a_call_name(list,'FPC_MUL_LONGINT');
                      cg.a_call_name(list,'FPC_MUL_LONGINT');
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,r, reg2));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,r, reg2));
-                     ungetregister(list,r);
-                     ungetregister(list,r2);
+                     cg.ungetcpuregister(list,r);
+                     cg.ungetcpuregister(list,r2);
                    end
                    end
                   else
                   else
                     begin
                     begin
@@ -647,12 +652,12 @@ unit cgcpu;
                      list.concat(taicpu.op_reg_reg(A_MULS,S_L,reg1,reg2));
                      list.concat(taicpu.op_reg_reg(A_MULS,S_L,reg1,reg2));
 
 
                      if reg1 <> hreg1 then
                      if reg1 <> hreg1 then
-                       cg.ungetregister(list,hreg1);
+                       cg.ungetcpuregister(list,hreg1);
                      { move back result into destination register }
                      { move back result into destination register }
                      if reg2 <> hreg2 then
                      if reg2 <> hreg2 then
                        begin
                        begin
                           list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg2,reg2));
                           list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg2,reg2));
-                          cg.ungetregister(list,hreg2);
+                          cg.ungetcpuregister(list,hreg2);
                        end;
                        end;
                     end;
                     end;
               end;
               end;
@@ -664,14 +669,14 @@ unit cgcpu;
                    begin
                    begin
                      r:=NR_D0;
                      r:=NR_D0;
                      r2:=NR_D1;
                      r2:=NR_D1;
-                     getcpuregister(list,NR_D0);
-                     getcpuregister(list,NR_D1);
+                     cg.getcpuregister(list,NR_D0);
+                     cg.getcpuregister(list,NR_D1);
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg1, r));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg1, r));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg2, r2));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg2, r2));
                      cg.a_call_name(list,'FPC_MUL_LONGWORD');
                      cg.a_call_name(list,'FPC_MUL_LONGWORD');
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,r, reg2));
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,r, reg2));
-                     ungetregister(list,r);
-                     ungetregister(list,r2);
+                     cg.ungetcpuregister(list,r);
+                     cg.ungetcpuregister(list,r2);
                    end
                    end
                   else
                   else
                     begin
                     begin
@@ -695,12 +700,12 @@ unit cgcpu;
                      list.concat(taicpu.op_reg_reg(A_MULU,S_L,reg1,reg2));
                      list.concat(taicpu.op_reg_reg(A_MULU,S_L,reg1,reg2));
 
 
                      if reg1<>hreg1 then
                      if reg1<>hreg1 then
-                       cg.ungetregister(list,hreg1);
+                       cg.ungetcpuregister(list,hreg1);
                      { move back result into destination register }
                      { move back result into destination register }
                      if reg2<>hreg2 then
                      if reg2<>hreg2 then
                        begin
                        begin
                           list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg2,reg2));
                           list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg2,reg2));
-                          cg.ungetregister(list,hreg2);
+                          cg.ungetcpuregister(list,hreg2);
                        end;
                        end;
                     end;
                     end;
               end;
               end;
@@ -736,7 +741,7 @@ unit cgcpu;
                 if reg2 <> hreg2 then
                 if reg2 <> hreg2 then
                   begin
                   begin
                     list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg2,reg2));
                     list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg2,reg2));
-                    cg.ungetregister(list,hreg2);
+                    cg.ungetcpuregister(list,hreg2);
                   end;
                   end;
 
 
               end;
               end;
@@ -770,7 +775,7 @@ unit cgcpu;
                { sign/zero extend the register }
                { sign/zero extend the register }
                sign_extend(list, size,hregister);
                sign_extend(list, size,hregister);
                list.concat(taicpu.op_const_reg(A_CMPI,S_L,a,hregister));
                list.concat(taicpu.op_const_reg(A_CMPI,S_L,a,hregister));
-               cg.ungetregister(list,hregister);
+               cg.ungetcpuregister(list,hregister);
              end
              end
            else
            else
              begin
              begin
@@ -835,7 +840,7 @@ unit cgcpu;
                   list.concat(taicpu.op_reg(A_NEG,S_B,hreg));
                   list.concat(taicpu.op_reg(A_NEG,S_B,hreg));
                 end;
                 end;
              list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg,reg));
              list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg,reg));
-             ungetregister(list,hreg);
+             cg.ungetcpuregister(list,hreg);
             end
             end
           else
           else
           begin
           begin
@@ -862,7 +867,8 @@ unit cgcpu;
 
 
 
 
 
 
-    procedure tcg68k.g_concatcopy(list : taasmoutput;const source,dest : treference;len : aint;delsource,loadref : boolean);
+    procedure tcg68k.g_concatcopy(list : taasmoutput;const source,dest : treference;len : aint);
+
      var
      var
          helpsize : longint;
          helpsize : longint;
          i : byte;
          i : byte;
@@ -884,13 +890,13 @@ unit cgcpu;
          { this should never occur }
          { this should never occur }
          if len > 65535 then
          if len > 65535 then
            internalerror(0);
            internalerror(0);
-         hregister := getintregister(list,OS_INT);
-         if delsource then
-            reference_release(list,source);
+         hregister := cg.getintregister(list,OS_INT);
+//         if delsource then
+//            reference_release(list,source);
 
 
 
 
          { from 12 bytes movs is being used }
          { from 12 bytes movs is being used }
-         if (not loadref) and ((len<=8) or (not(cs_littlesize in aktglobalswitches) and (len<=12))) then
+         if {(not loadref) and} ((len<=8) or (not(cs_littlesize in aktglobalswitches) and (len<=12))) then
            begin
            begin
               srcref := source;
               srcref := source;
               dstref := dest;
               dstref := dest;
@@ -898,8 +904,8 @@ unit cgcpu;
               { move a dword x times }
               { move a dword x times }
               for i:=1 to helpsize do
               for i:=1 to helpsize do
                 begin
                 begin
-                   a_load_ref_reg(list,OS_INT,OS_INT,srcref,hregister);
-                   a_load_reg_ref(list,OS_INT,OS_INT,hregister,dstref);
+                   cg.a_load_ref_reg(list,OS_INT,OS_INT,srcref,hregister);
+                   cg.a_load_reg_ref(list,OS_INT,OS_INT,hregister,dstref);
                    inc(srcref.offset,4);
                    inc(srcref.offset,4);
                    inc(dstref.offset,4);
                    inc(dstref.offset,4);
                    dec(len,4);
                    dec(len,4);
@@ -907,8 +913,8 @@ unit cgcpu;
               { move a word }
               { move a word }
               if len>1 then
               if len>1 then
                 begin
                 begin
-                   a_load_ref_reg(list,OS_16,OS_16,srcref,hregister);
-                   a_load_reg_ref(list,OS_16,OS_16,hregister,dstref);
+                   cg.a_load_ref_reg(list,OS_16,OS_16,srcref,hregister);
+                   cg.a_load_reg_ref(list,OS_16,OS_16,hregister,dstref);
                    inc(srcref.offset,2);
                    inc(srcref.offset,2);
                    inc(dstref.offset,2);
                    inc(dstref.offset,2);
                    dec(len,2);
                    dec(len,2);
@@ -916,14 +922,14 @@ unit cgcpu;
               { move a single byte }
               { move a single byte }
               if len>0 then
               if len>0 then
                 begin
                 begin
-                   a_load_ref_reg(list,OS_8,OS_8,srcref,hregister);
-                   a_load_reg_ref(list,OS_8,OS_8,hregister,dstref);
+                   cg.a_load_ref_reg(list,OS_8,OS_8,srcref,hregister);
+                   cg.a_load_reg_ref(list,OS_8,OS_8,hregister,dstref);
                 end
                 end
            end
            end
          else
          else
            begin
            begin
-              iregister:=getaddressregister(list);
-              jregister:=getaddressregister(list);
+              iregister:=cg.getaddressregister(list);
+              jregister:=cg.getaddressregister(list);
               { reference for move (An)+,(An)+ }
               { reference for move (An)+,(An)+ }
               reference_reset(hp1);
               reference_reset(hp1);
               hp1.base := iregister;   { source register }
               hp1.base := iregister;   { source register }
@@ -934,12 +940,12 @@ unit cgcpu;
               { iregister = source }
               { iregister = source }
               { jregister = destination }
               { jregister = destination }
 
 
-              if loadref then
-                 a_load_ref_reg(list,OS_INT,OS_INT,source,iregister)
-              else
-                 a_loadaddr_ref_reg(list,source,iregister);
+{              if loadref then
+                 cg.a_load_ref_reg(list,OS_INT,OS_INT,source,iregister)
+              else}
+                 cg.a_loadaddr_ref_reg(list,source,iregister);
 
 
-              a_loadaddr_ref_reg(list,dest,jregister);
+              cg.a_loadaddr_ref_reg(list,dest,jregister);
 
 
               { double word move only on 68020+ machines }
               { double word move only on 68020+ machines }
               { because of possible alignment problems   }
               { because of possible alignment problems   }
@@ -950,9 +956,9 @@ unit cgcpu;
                    len := len mod 4;
                    len := len mod 4;
                    list.concat(taicpu.op_const_reg(A_MOVE,S_L,helpsize div 4,hregister));
                    list.concat(taicpu.op_const_reg(A_MOVE,S_L,helpsize div 4,hregister));
                    objectlibrary.getlabel(hl2);
                    objectlibrary.getlabel(hl2);
-                   a_jmp_always(list,hl2);
+                   cg.a_jmp_always(list,hl2);
                    objectlibrary.getlabel(hl);
                    objectlibrary.getlabel(hl);
-                   a_label(list,hl);
+                   cg.a_label(list,hl);
                    list.concat(taicpu.op_ref_ref(A_MOVE,S_L,hp1,hp2));
                    list.concat(taicpu.op_ref_ref(A_MOVE,S_L,hp1,hp2));
                    cg.a_label(list,hl2);
                    cg.a_label(list,hl2);
                    list.concat(taicpu.op_reg_sym(A_DBRA,S_L,hregister,hl));
                    list.concat(taicpu.op_reg_sym(A_DBRA,S_L,hregister,hl));
@@ -970,41 +976,41 @@ unit cgcpu;
                    helpsize := len;
                    helpsize := len;
                    list.concat(taicpu.op_const_reg(A_MOVE,S_L,helpsize,hregister));
                    list.concat(taicpu.op_const_reg(A_MOVE,S_L,helpsize,hregister));
                    objectlibrary.getlabel(hl2);
                    objectlibrary.getlabel(hl2);
-                   a_jmp_always(list,hl2);
+                   cg.a_jmp_always(list,hl2);
                    objectlibrary.getlabel(hl);
                    objectlibrary.getlabel(hl);
-                   a_label(list,hl);
+                   cg.a_label(list,hl);
                    list.concat(taicpu.op_ref_ref(A_MOVE,S_B,hp1,hp2));
                    list.concat(taicpu.op_ref_ref(A_MOVE,S_B,hp1,hp2));
-                   a_label(list,hl2);
+                   cg.a_label(list,hl2);
                    list.concat(taicpu.op_reg_sym(A_DBRA,S_L,hregister,hl));
                    list.concat(taicpu.op_reg_sym(A_DBRA,S_L,hregister,hl));
                 end;
                 end;
 
 
               { restore the registers that we have just used olny if they are used! }
               { restore the registers that we have just used olny if they are used! }
-              ungetregister(list, iregister);
-              ungetregister(list, jregister);
+              cg.ungetcpuregister(list, iregister);
+              cg.ungetcpuregister(list, jregister);
               if jregister = NR_A1 then
               if jregister = NR_A1 then
                 hp2.base := NR_NO;
                 hp2.base := NR_NO;
               if iregister = NR_A0 then
               if iregister = NR_A0 then
                 hp1.base := NR_NO;
                 hp1.base := NR_NO;
-              reference_release(list,hp1);
-              reference_release(list,hp2);
+//              reference_release(list,hp1);
+//              reference_release(list,hp2);
            end;
            end;
 
 
-           if delsource then
-               tg.ungetiftemp(list,source);
+//           if delsource then
+//               tg.ungetiftemp(list,source);
 
 
-           ungetregister(list,hregister);
+           cg.ungetcpuregister(list,hregister);
     end;
     end;
 
 
     procedure tcg68k.g_overflowcheck(list: taasmoutput; const l:tlocation; def:tdef);
     procedure tcg68k.g_overflowcheck(list: taasmoutput; const l:tlocation; def:tdef);
       begin
       begin
       end;
       end;
 
 
-    procedure tcg68k.g_copyvaluepara_openarray(list : taasmoutput;const ref:treference;const lenloc:tlocation;elesize:aint);
+    procedure tcg68k.g_copyvaluepara_openarray(list : taasmoutput;const ref:treference;const lenloc:tlocation;elesize:aint;destreg:tregister);
       begin
       begin
       end;
       end;
 
 
 
 
-    procedure tcg68k.g_stackframe_entry(list : taasmoutput;localsize : longint);
+    procedure tcg68k.g_proc_entry(list : taasmoutput;localsize : longint;nostackframe:boolean);
       var
       var
         r,rsp:Tregister;
         r,rsp:Tregister;
         ref : treference;
         ref : treference;
@@ -1030,16 +1036,16 @@ unit cgcpu;
       end;
       end;
 
 
 
 
-    procedure tcg68k.g_restore_frame_pointer(list : taasmoutput);
+{    procedure tcg68k.g_restore_frame_pointer(list : taasmoutput);
       var
       var
         r:Tregister;
         r:Tregister;
       begin
       begin
         r:=NR_FRAME_POINTER_REG;
         r:=NR_FRAME_POINTER_REG;
         list.concat(taicpu.op_reg(A_UNLK,S_NO,r));
         list.concat(taicpu.op_reg(A_UNLK,S_NO,r));
       end;
       end;
+}
 
 
-
-    procedure tcg68k.g_return_from_proc(list : taasmoutput;parasize : aint);
+    procedure tcg68k.g_proc_exit(list : taasmoutput;parasize:longint;nostackframe:boolean);
       var
       var
         r,hregister : tregister;
         r,hregister : tregister;
         ref : treference;
         ref : treference;
@@ -1074,7 +1080,7 @@ unit cgcpu;
 
 
                 { save the PC counter (pop it from the stack)         }
                 { save the PC counter (pop it from the stack)         }
                 hregister:=NR_A3;
                 hregister:=NR_A3;
-                a_reg_alloc(list,hregister);
+                cg.a_reg_alloc(list,hregister);
                 reference_reset_base(ref,NR_STACK_POINTER_REG,0);
                 reference_reset_base(ref,NR_STACK_POINTER_REG,0);
                 ref.direction:=dir_inc;
                 ref.direction:=dir_inc;
                 list.concat(taicpu.op_ref_reg(A_MOVE,S_L,ref,hregister));
                 list.concat(taicpu.op_ref_reg(A_MOVE,S_L,ref,hregister));
@@ -1089,7 +1095,7 @@ unit cgcpu;
                 reference_reset_base(ref,NR_STACK_POINTER_REG,0);
                 reference_reset_base(ref,NR_STACK_POINTER_REG,0);
                 ref.direction:=dir_dec;
                 ref.direction:=dir_dec;
                 list.concat(taicpu.op_reg_ref(A_MOVE,S_L,hregister,ref));
                 list.concat(taicpu.op_reg_ref(A_MOVE,S_L,hregister,ref));
-                a_reg_alloc(list,hregister);
+                cg.a_reg_alloc(list,hregister);
                 list.concat(taicpu.op_none(A_RTS,S_NO));
                 list.concat(taicpu.op_none(A_RTS,S_NO));
                end;
                end;
            end;
            end;
@@ -1130,7 +1136,7 @@ unit cgcpu;
       }
       }
       end;
       end;
 
 
-
+{
     procedure tcg68k.g_save_all_registers(list : taasmoutput);
     procedure tcg68k.g_save_all_registers(list : taasmoutput);
       begin
       begin
       end;
       end;
@@ -1138,7 +1144,7 @@ unit cgcpu;
     procedure tcg68k.g_restore_all_registers(list : taasmoutput;const funcretparaloc:TCGPara);
     procedure tcg68k.g_restore_all_registers(list : taasmoutput;const funcretparaloc:TCGPara);
       begin
       begin
       end;
       end;
-
+}
     procedure tcg68k.sign_extend(list: taasmoutput;_oldsize : tcgsize; reg: tregister);
     procedure tcg68k.sign_extend(list: taasmoutput;_oldsize : tcgsize; reg: tregister);
       begin
       begin
         case _oldsize of
         case _oldsize of
@@ -1257,27 +1263,27 @@ unit cgcpu;
   end;
   end;
 
 
 
 
- procedure tcg64f68k.a_op64_const_reg(list : taasmoutput;op:TOpCG;value : qword;reg : tregister64);
+ procedure tcg64f68k.a_op64_const_reg(list : taasmoutput;op:TOpCG;value : int64;regdst : tregister64);
   var
   var
    lowvalue : cardinal;
    lowvalue : cardinal;
    highvalue : cardinal;
    highvalue : cardinal;
   begin
   begin
     { is it optimized out ? }
     { is it optimized out ? }
-    if optimize64_op_const_reg(list,op,value,reg) then
-       exit;
+//    if cg.optimize64_op_const_reg(list,op,value,reg) then
+//       exit;
 
 
     lowvalue := cardinal(value);
     lowvalue := cardinal(value);
     highvalue:= value shr 32;
     highvalue:= value shr 32;
 
 
    { the destination registers must be data registers }
    { the destination registers must be data registers }
-   if  isaddressregister(reg.reglo) or
-       isaddressregister(reg.reghi) then
+   if  isaddressregister(regdst.reglo) or
+       isaddressregister(regdst.reghi) then
          internalerror(20020817);
          internalerror(20020817);
    case op of
    case op of
       OP_ADD :
       OP_ADD :
          begin
          begin
-            list.concat(taicpu.op_const_reg(A_ADD,S_L,lowvalue,reg.reglo));
-            list.concat(taicpu.op_const_reg(A_ADDX,S_L,highvalue,reg.reglo));
+            list.concat(taicpu.op_const_reg(A_ADD,S_L,lowvalue,regdst.reglo));
+            list.concat(taicpu.op_const_reg(A_ADDX,S_L,highvalue,regdst.reglo));
          end;
          end;
       OP_AND :
       OP_AND :
           begin
           begin
@@ -1296,13 +1302,13 @@ unit cgcpu;
       OP_SAR,OP_SHL,OP_SHR: internalerror(2002081702);
       OP_SAR,OP_SHL,OP_SHR: internalerror(2002081702);
       OP_SUB:
       OP_SUB:
          begin
          begin
-            list.concat(taicpu.op_const_reg(A_SUB,S_L,lowvalue,reg.reglo));
-            list.concat(taicpu.op_const_reg(A_SUBX,S_L,highvalue,reg.reglo));
+            list.concat(taicpu.op_const_reg(A_SUB,S_L,lowvalue,regdst.reglo));
+            list.concat(taicpu.op_const_reg(A_SUBX,S_L,highvalue,regdst.reglo));
          end;
          end;
       OP_XOR:
       OP_XOR:
         begin
         begin
-            list.concat(taicpu.op_const_reg(A_EOR,S_L,lowvalue,reg.reglo));
-            list.concat(taicpu.op_const_reg(A_EOR,S_L,highvalue,reg.reglo));
+            list.concat(taicpu.op_const_reg(A_EOR,S_L,lowvalue,regdst.reglo));
+            list.concat(taicpu.op_const_reg(A_EOR,S_L,highvalue,regdst.reglo));
         end;
         end;
     end; { end case }
     end; { end case }
   end;
   end;
@@ -1314,7 +1320,10 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.32  2004-11-27 16:16:02  florian
+  Revision 1.33  2005-01-08 04:10:36  karoly
+    * made m68k to compile again
+
+  Revision 1.32  2004/11/27 16:16:02  florian
     * some m68k stuff updated
     * some m68k stuff updated
 
 
   Revision 1.31  2004/11/09 22:32:59  peter
   Revision 1.31  2004/11/09 22:32:59  peter

+ 6 - 2
compiler/m68k/cpubase.pas

@@ -128,7 +128,8 @@ unit cpubase;
       first_mm_supreg    = 0;
       first_mm_supreg    = 0;
       first_mm_imreg     = 0;
       first_mm_imreg     = 0;
 
 
-      regnumber_count_bsstart = 64;
+{$WARNING TODO FIX BSSTART}
+      regnumber_count_bsstart = 16;
 
 
       regnumber_table : array[tregisterindex] of tregister = (
       regnumber_table : array[tregisterindex] of tregister = (
         {$i r68knum.inc}
         {$i r68knum.inc}
@@ -466,7 +467,10 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.33  2004-11-09 22:32:59  peter
+  Revision 1.34  2005-01-08 04:10:36  karoly
+    * made m68k to compile again
+
+  Revision 1.33  2004/11/09 22:32:59  peter
     * small m68k updates to bring it up2date
     * small m68k updates to bring it up2date
     * give better error for external local variable
     * give better error for external local variable
 
 

+ 8 - 5
compiler/m68k/n68kcnv.pas

@@ -48,7 +48,7 @@ implementation
       ncon,ncal,
       ncon,ncal,
       ncgutil,
       ncgutil,
       cpubase,aasmcpu,
       cpubase,aasmcpu,
-      rgobj,tgobj,cgobj,globtype,cgcpu;
+      rgobj,tgobj,cgobj,cgutils,globtype,cgcpu;
 
 
 
 
 {*****************************************************************************
 {*****************************************************************************
@@ -187,9 +187,9 @@ implementation
                      cg.a_load_ref_reg(exprasmlist,opsize,opsize,
                      cg.a_load_ref_reg(exprasmlist,opsize,opsize,
                         left.location.reference,hreg2);
                         left.location.reference,hreg2);
                      exprasmlist.concat(taicpu.op_reg(A_TST,TCGSize2OpSize[opsize],hreg2));
                      exprasmlist.concat(taicpu.op_reg(A_TST,TCGSize2OpSize[opsize],hreg2));
-                     cg.ungetregister(exprasmlist,hreg2);
+                     cg.ungetcpuregister(exprasmlist,hreg2);
                   end;
                   end;
-                reference_release(exprasmlist,left.location.reference);
+//                reference_release(exprasmlist,left.location.reference);
                 resflags:=F_NE;
                 resflags:=F_NE;
                 hreg1:=cg.getintregister(exprasmlist,opsize);
                 hreg1:=cg.getintregister(exprasmlist,opsize);
               end;
               end;
@@ -197,7 +197,7 @@ implementation
               begin
               begin
                 hreg2:=left.location.register;
                 hreg2:=left.location.register;
                 exprasmlist.concat(taicpu.op_reg(A_TST,TCGSize2OpSize[opsize],hreg2));
                 exprasmlist.concat(taicpu.op_reg(A_TST,TCGSize2OpSize[opsize],hreg2));
-                cg.ungetregister(exprasmlist,hreg2);
+                cg.ungetcpuregister(exprasmlist,hreg2);
                 hreg1:=cg.getintregister(exprasmlist,opsize);
                 hreg1:=cg.getintregister(exprasmlist,opsize);
                 resflags:=F_NE;
                 resflags:=F_NE;
               end;
               end;
@@ -240,7 +240,10 @@ begin
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.13  2004-06-20 08:55:31  florian
+  Revision 1.14  2005-01-08 04:10:36  karoly
+    * made m68k to compile again
+
+  Revision 1.13  2004/06/20 08:55:31  florian
     * logs truncated
     * logs truncated
 
 
   Revision 1.12  2004/04/25 21:26:16  florian
   Revision 1.12  2004/04/25 21:26:16  florian

+ 18 - 12
compiler/m68k/n68kmat.pas

@@ -51,8 +51,8 @@ implementation
       symconst,symdef,aasmbase,aasmtai,aasmcpu,
       symconst,symdef,aasmbase,aasmtai,aasmcpu,
       pass_1,pass_2,
       pass_1,pass_2,
       ncon,
       ncon,
-      cpuinfo,paramgr,defutil,
-      tgobj,ncgutil,cgobj,rgobj,rgcpu,cgcpu,cg64f32;
+      cpuinfo,paramgr,defutil,parabase,
+      tgobj,ncgutil,cgobj,cgutils,rgobj,rgcpu,cgcpu,cg64f32;
 
 
 
 
 
 
@@ -91,7 +91,7 @@ implementation
               LOC_FLAGS :
               LOC_FLAGS :
                 begin
                 begin
                   location_copy(location,left.location);
                   location_copy(location,left.location);
-                  location_release(exprasmlist,left.location);
+//                  location_release(exprasmlist,left.location);
                   inverse_flags(location.resflags);
                   inverse_flags(location.resflags);
                 end;
                 end;
               LOC_CONSTANT,
               LOC_CONSTANT,
@@ -102,7 +102,7 @@ implementation
                 begin
                 begin
                   location_force_reg(exprasmlist,left.location,def_cgsize(resulttype.def),true);
                   location_force_reg(exprasmlist,left.location,def_cgsize(resulttype.def),true);
                   exprasmlist.concat(taicpu.op_reg(A_TST,tcgsize2opsize[opsize],left.location.register));
                   exprasmlist.concat(taicpu.op_reg(A_TST,tcgsize2opsize[opsize],left.location.register));
-                  location_release(exprasmlist,left.location);
+//                  location_release(exprasmlist,left.location);
                   location_reset(location,LOC_FLAGS,OS_NO);
                   location_reset(location,LOC_FLAGS,OS_NO);
                   location.resflags:=F_E;
                   location.resflags:=F_E;
                 end;
                 end;
@@ -138,6 +138,7 @@ implementation
    var
    var
      continuelabel : tasmlabel;
      continuelabel : tasmlabel;
      reg_d0,reg_d1 : tregister;
      reg_d0,reg_d1 : tregister;
+     paraloc1 : tcgpara;
    begin
    begin
      { no RTL call, so inline a zero denominator verification }
      { no RTL call, so inline a zero denominator verification }
      if aktoptprocessor <> MC68000 then
      if aktoptprocessor <> MC68000 then
@@ -146,7 +147,9 @@ implementation
          objectlibrary.getlabel(continuelabel);
          objectlibrary.getlabel(continuelabel);
          { compare against zero, if not zero continue }
          { compare against zero, if not zero continue }
          cg.a_cmp_const_reg_label(exprasmlist,OS_S32,OC_NE,0,denum,continuelabel);
          cg.a_cmp_const_reg_label(exprasmlist,OS_S32,OC_NE,0,denum,continuelabel);
-         cg.a_param_const(exprasmlist, OS_S32,200,paramanager.getintparaloc(pocall_default,1));
+//	 paraloc1.init;
+//         cg.a_param_const(exprasmlist,OS_S32,200,paramanager.getintparaloc(pocall_default,1,paraloc1));
+
          cg.a_call_name(exprasmlist,'FPC_HANDLEERROR');
          cg.a_call_name(exprasmlist,'FPC_HANDLEERROR');
          cg.a_label(exprasmlist, continuelabel);
          cg.a_label(exprasmlist, continuelabel);
          if signed then
          if signed then
@@ -172,8 +175,8 @@ implementation
          else
          else
              cg.a_call_name(exprasmlist,'FPC_DIV_CARDINAL');
              cg.a_call_name(exprasmlist,'FPC_DIV_CARDINAL');
         cg.a_load_reg_reg(exprasmlist,OS_INT,OS_INT,reg_d0,denum);
         cg.a_load_reg_reg(exprasmlist,OS_INT,OS_INT,reg_d0,denum);
-        cg.ungetregister(exprasmlist,reg_d0);
-        cg.ungetregister(exprasmlist,reg_d1);
+        cg.ungetcpuregister(exprasmlist,reg_d0);
+        cg.ungetcpuregister(exprasmlist,reg_d1);
        end;
        end;
    end;
    end;
 
 
@@ -190,7 +193,7 @@ implementation
          objectlibrary.getlabel(continuelabel);
          objectlibrary.getlabel(continuelabel);
          { compare against zero, if not zero continue }
          { compare against zero, if not zero continue }
          cg.a_cmp_const_reg_label(exprasmlist,OS_S32,OC_NE,0,denum,continuelabel);
          cg.a_cmp_const_reg_label(exprasmlist,OS_S32,OC_NE,0,denum,continuelabel);
-         cg.a_param_const(exprasmlist, OS_S32,200,paramanager.getintparaloc(pocall_default,1));
+//         cg.a_param_const(exprasmlist, OS_S32,200,paramanager.getintparaloc(pocall_default,1));
          cg.a_call_name(exprasmlist,'FPC_HANDLEERROR');
          cg.a_call_name(exprasmlist,'FPC_HANDLEERROR');
          cg.a_label(exprasmlist, continuelabel);
          cg.a_label(exprasmlist, continuelabel);
 
 
@@ -215,7 +218,7 @@ implementation
            exprasmlist.concat(taicpu.op_reg_reg_reg(A_DIVUL,S_L,denum,tmpreg,num));
            exprasmlist.concat(taicpu.op_reg_reg_reg(A_DIVUL,S_L,denum,tmpreg,num));
          { remainder in tmpreg }
          { remainder in tmpreg }
          cg.a_load_reg_reg(exprasmlist,OS_INT,OS_INT,tmpreg,denum);
          cg.a_load_reg_reg(exprasmlist,OS_INT,OS_INT,tmpreg,denum);
-         cg.ungetregister(exprasmlist,tmpreg);
+         cg.ungetcpuregister(exprasmlist,tmpreg);
        end
        end
      else
      else
        begin
        begin
@@ -233,8 +236,8 @@ implementation
          else
          else
              cg.a_call_name(exprasmlist,'FPC_MOD_CARDINAL');
              cg.a_call_name(exprasmlist,'FPC_MOD_CARDINAL');
         cg.a_load_reg_reg(exprasmlist,OS_INT,OS_INT,Reg_D0,denum);
         cg.a_load_reg_reg(exprasmlist,OS_INT,OS_INT,Reg_D0,denum);
-        cg.ungetregister(exprasmlist,Reg_D0);
-        cg.ungetregister(exprasmlist,Reg_D1);
+        cg.ungetcpuregister(exprasmlist,Reg_D0);
+        cg.ungetcpuregister(exprasmlist,Reg_D1);
        end;
        end;
     end;
     end;
 
 
@@ -246,7 +249,10 @@ begin
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.11  2004-10-31 21:45:03  peter
+  Revision 1.12  2005-01-08 04:11:26  karoly
+    * made m68k to compile again
+
+  Revision 1.11  2004/10/31 21:45:03  peter
     * generic tlocation
     * generic tlocation
     * move tlocation to cgutils
     * move tlocation to cgutils
 
 

+ 8 - 5
compiler/m68k/ncpuadd.pas

@@ -49,7 +49,7 @@ implementation
       symconst,symdef,paramgr,
       symconst,symdef,paramgr,
       aasmbase,aasmtai,aasmcpu,defutil,htypechk,
       aasmbase,aasmtai,aasmcpu,defutil,htypechk,
       cgbase,cpuinfo,pass_1,pass_2,regvars,
       cgbase,cpuinfo,pass_1,pass_2,regvars,
-      cpupara,
+      cpupara,cgutils,
       ncon,nset,
       ncon,nset,
       ncgutil,tgobj,rgobj,rgcpu,cgobj,cg64f32;
       ncgutil,tgobj,rgobj,rgcpu,cgobj,cg64f32;
 
 
@@ -147,7 +147,7 @@ implementation
                     exprasmlist.concat(taicpu.op_reg_reg(A_AND,S_L,
                     exprasmlist.concat(taicpu.op_reg_reg(A_AND,S_L,
                       right.location.register,left.location.register));
                       right.location.register,left.location.register));
                 end;
                 end;
-              cg.ungetregister(exprasmlist,tmpreg);
+              cg.ungetcpuregister(exprasmlist,tmpreg);
               location.resflags := getresflags(true);
               location.resflags := getresflags(true);
             end;
             end;
           else
           else
@@ -227,7 +227,7 @@ implementation
             begin
             begin
               exprasmlist.concat(taicpu.op_reg_reg(op,S_L,
               exprasmlist.concat(taicpu.op_reg_reg(op,S_L,
                 left.location.register,tmpreg));
                 left.location.register,tmpreg));
-              cg.ungetregister(exprasmlist,tmpreg);
+              cg.ungetcpuregister(exprasmlist,tmpreg);
             end
             end
         else
         else
           exprasmlist.concat(taicpu.op_reg_reg(op,S_L,
           exprasmlist.concat(taicpu.op_reg_reg(op,S_L,
@@ -311,7 +311,7 @@ implementation
          location.resflags := getresflags(true);
          location.resflags := getresflags(true);
         end;
         end;
 
 
-        release_reg_left_right;
+        //release_reg_left_right;
       end;
       end;
 
 
 
 
@@ -426,7 +426,10 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.6  2004-10-31 21:45:03  peter
+  Revision 1.7  2005-01-08 04:10:36  karoly
+    * made m68k to compile again
+
+  Revision 1.6  2004/10/31 21:45:03  peter
     * generic tlocation
     * generic tlocation
     * move tlocation to cgutils
     * move tlocation to cgutils