Ver Fonte

* remaining assembler writer bugs fixed, the errors in the
system unit are inline assembler problems

florian há 23 anos atrás
pai
commit
a375ad9565
2 ficheiros alterados com 13 adições e 4 exclusões
  1. 7 3
      compiler/ncgutil.pas
  2. 6 1
      compiler/powerpc/cpupara.pas

+ 7 - 3
compiler/ncgutil.pas

@@ -1221,8 +1221,8 @@ implementation
              hp:=tparaitem(procinfo.procdef.para.first);
              hp:=tparaitem(procinfo.procdef.para.first);
              while assigned(hp) do
              while assigned(hp) do
                begin
                begin
-                  if (hp.paraloc.loc in [LOC_REGISTER,LOC_FPUREGISTER
-                   {$ifdef SUPPORT_MMX},LOC_MMREGISTER{$endif}]) and (([vo_regable,vo_fpuregable]*tvarsym(hp.parasym).varoptions)=[]) then
+                  if (hp.paraloc.loc in [LOC_REGISTER,LOC_FPUREGISTER,LOC_MMREGISTER]) and
+                    (([vo_regable,vo_fpuregable]*tvarsym(hp.parasym).varoptions)=[]) then
                     begin
                     begin
                        case hp.paraloc.loc of
                        case hp.paraloc.loc of
                           LOC_REGISTER:
                           LOC_REGISTER:
@@ -1730,7 +1730,11 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.39  2002-08-17 09:23:36  florian
+  Revision 1.40  2002-08-18 10:42:37  florian
+    * remaining assembler writer bugs fixed, the errors in the
+      system unit are inline assembler problems
+
+  Revision 1.39  2002/08/17 09:23:36  florian
     * first part of procinfo rewrite
     * first part of procinfo rewrite
 
 
   Revision 1.38  2002/08/16 14:24:57  carl
   Revision 1.38  2002/08/16 14:24:57  carl

+ 6 - 1
compiler/powerpc/cpupara.pas

@@ -185,6 +185,7 @@ unit cpupara;
                    end;
                    end;
                  LOC_REFERENCE:
                  LOC_REFERENCE:
                    begin
                    begin
+                      hp.paraloc.size:=OS_32;
                       if push_addr_param(hp.paratype.def) or (hp.paratyp in [vs_var,vs_out]) then
                       if push_addr_param(hp.paratype.def) or (hp.paratyp in [vs_var,vs_out]) then
                         begin
                         begin
                            if nextintreg<=R_8 then
                            if nextintreg<=R_8 then
@@ -226,7 +227,11 @@ begin
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.7  2002-08-17 22:09:47  florian
+  Revision 1.8  2002-08-18 10:42:38  florian
+    * remaining assembler writer bugs fixed, the errors in the
+      system unit are inline assembler problems
+
+  Revision 1.7  2002/08/17 22:09:47  florian
     * result type handling in tcgcal.pass_2 overhauled
     * result type handling in tcgcal.pass_2 overhauled
     * better tnode.dowrite
     * better tnode.dowrite
     * some ppc stuff fixed
     * some ppc stuff fixed