Browse Source

* define to get ansistring returns in ref instead of reg

peter 26 years ago
parent
commit
370f15bcc4
1 changed files with 10 additions and 2 deletions
  1. 10 2
      compiler/cg386cal.pas

+ 10 - 2
compiler/cg386cal.pas

@@ -23,7 +23,7 @@
 unit cg386cal;
 unit cg386cal;
 interface
 interface
 
 
-{$define EXtdebug}
+{ $define AnsiStrRef}
 
 
     uses
     uses
       symtable,tree;
       symtable,tree;
@@ -1023,6 +1023,11 @@ implementation
                             gettempansistringreference(hr);
                             gettempansistringreference(hr);
                             exprasmlist^.concat(new(pai386,op_reg_ref(A_MOV,S_L,p^.location.register,
                             exprasmlist^.concat(new(pai386,op_reg_ref(A_MOV,S_L,p^.location.register,
                               newreference(hr))));
                               newreference(hr))));
+{$ifdef AnsiStrRef}
+                            ungetregister(hregister);
+                            p^.location.loc:=LOC_REFERENCE;
+                            p^.location.reference:=hr;
+{$endif}
                             { unnessary ansi/wide strings are imm. disposed }
                             { unnessary ansi/wide strings are imm. disposed }
                             if not(p^.return_value_used) then
                             if not(p^.return_value_used) then
                               begin
                               begin
@@ -1196,7 +1201,10 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.71  1999-03-31 13:55:04  peter
+  Revision 1.72  1999-04-09 08:41:48  peter
+    * define to get ansistring returns in ref instead of reg
+
+  Revision 1.71  1999/03/31 13:55:04  peter
     * assembler inlining working for ag386bin
     * assembler inlining working for ag386bin
 
 
   Revision 1.70  1999/03/24 23:16:46  peter
   Revision 1.70  1999/03/24 23:16:46  peter