Explorar el Código

* add string returns in LOC_REFERENCE

peter hace 22 años
padre
commit
a23e3f0a2f
Se han modificado 4 ficheros con 24 adiciones y 12 borrados
  1. 6 3
      compiler/i386/n386add.pas
  2. 5 2
      compiler/nadd.pas
  3. 8 5
      compiler/ncgopt.pas
  4. 5 2
      compiler/nopt.pas

+ 6 - 3
compiler/i386/n386add.pas

@@ -335,7 +335,7 @@ interface
         if (nodetype = addn) and
            is_shortstring(resulttype.def) then
          begin
-           expectloc:=LOC_CREFERENCE;
+           expectloc:=LOC_REFERENCE;
            calcregisters(self,0,0,0);
            result := nil;
            exit;
@@ -389,7 +389,7 @@ interface
                              { location is released by copyshortstring }
                              location_freetemp(exprasmlist,left.location);
 
-                             location_reset(left.location,LOC_CREFERENCE,def_cgsize(resulttype.def));
+                             location_reset(left.location,LOC_REFERENCE,def_cgsize(resulttype.def));
                              left.location.reference:=href;
                           end;
 
@@ -1664,7 +1664,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.65  2003-04-23 20:16:04  peter
+  Revision 1.66  2003-04-26 09:12:55  peter
+    * add string returns in LOC_REFERENCE
+
+  Revision 1.65  2003/04/23 20:16:04  peter
     + added currency support based on int64
     + is_64bit for use in cg units instead of is_64bitint
     * removed cgmessage from n386add, replace with internalerrors

+ 5 - 2
compiler/nadd.pas

@@ -1782,7 +1782,7 @@ implementation
               else if is_longstring(ld) then
                 begin
                    { this is only for add, the comparisaion is handled later }
-                   expectloc:=LOC_CREFERENCE;
+                   expectloc:=LOC_REFERENCE;
                 end
               else
                 begin
@@ -1957,7 +1957,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.85  2003-04-24 22:29:57  florian
+  Revision 1.86  2003-04-26 09:12:55  peter
+    * add string returns in LOC_REFERENCE
+
+  Revision 1.85  2003/04/24 22:29:57  florian
     * fixed a lot of PowerPC related stuff
 
   Revision 1.84  2003/04/23 20:16:04  peter

+ 8 - 5
compiler/ncgopt.pas

@@ -77,7 +77,7 @@ begin
   firstpass(right);
   if codegenerror then
     exit;
-  expectloc:=LOC_CREFERENCE;
+  expectloc:=LOC_REFERENCE;
   if not is_constcharnode(right) then
     { it's not sure we need the register, but we can't know it here yet }
     calcregisters(self,2,0,0)
@@ -106,7 +106,7 @@ begin
        { location is released by copyshortstring }
        location_freetemp(exprasmlist,left.location);
        { return temp reference }
-       location_reset(left.location,LOC_CREFERENCE,def_cgsize(resulttype.def));
+       location_reset(left.location,LOC_REFERENCE,def_cgsize(resulttype.def));
        left.location.reference:=href;
     end;
   secondpass(right);
@@ -218,7 +218,7 @@ begin
        { release the registers }
        location_freetemp(exprasmlist,left.location);
        { return temp reference }
-       location_reset(left.location,LOC_CREFERENCE,def_cgsize(resulttype.def));
+       location_reset(left.location,LOC_REFERENCE,def_cgsize(resulttype.def));
        left.location.reference:=href;
     end;
   secondpass(right);
@@ -252,6 +252,9 @@ end.
 
 {
   $Log$
-  Revision 1.1  2003-04-24 11:20:06  florian
+  Revision 1.2  2003-04-26 09:12:55  peter
+    * add string returns in LOC_REFERENCE
+
+  Revision 1.1  2003/04/24 11:20:06  florian
     + created from n386opt
-}
+}

+ 5 - 2
compiler/nopt.pas

@@ -137,7 +137,7 @@ end;
 function taddsstringoptnode.pass_1: tnode;
 begin
   pass_1 := nil;
-  expectloc:= LOC_CREFERENCE;
+  expectloc:= LOC_REFERENCE;
   calcregisters(self,0,0,0);
   { here we call STRCONCAT or STRCMP or STRCOPY }
   procinfo.flags:=procinfo.flags or pi_do_call;
@@ -278,7 +278,10 @@ end.
 
 {
   $Log$
-  Revision 1.13  2003-04-22 23:50:23  peter
+  Revision 1.14  2003-04-26 09:12:55  peter
+    * add string returns in LOC_REFERENCE
+
+  Revision 1.13  2003/04/22 23:50:23  peter
     * firstpass uses expectloc
     * checks if there are differences between the expectloc and
       location.loc from secondpass in EXTDEBUG