浏览代码

* fixed error in my previous commit (the size of the location of the
funcretnode must be based on the current resulttype of the node and not
the resulttype defined by the function; these can be different in case
of "absolute" declarations)

Jonas Maebe 23 年之前
父节点
当前提交
bd484276cd
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      compiler/ncgld.pas

+ 8 - 2
compiler/ncgld.pas

@@ -709,7 +709,7 @@ implementation
          hr_valid : boolean;
          hr_valid : boolean;
          i : integer;
          i : integer;
       begin
       begin
-         location_reset(location,LOC_REFERENCE,def_cgsize(funcretsym.returntype.def));
+         location_reset(location,LOC_REFERENCE,def_cgsize(resulttype.def));
          hr_valid:=false;
          hr_valid:=false;
          if (not inlining_procedure) and
          if (not inlining_procedure) and
             (lexlevel<>funcretsym.owner.symtablelevel) then
             (lexlevel<>funcretsym.owner.symtablelevel) then
@@ -989,7 +989,13 @@ begin
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.38  2002-11-18 17:31:54  peter
+  Revision 1.39  2002-11-22 16:22:45  jonas
+    * fixed error in my previous commit (the size of the location of the
+      funcretnode must be based on the current resulttype of the node and not
+      the resulttype defined by the function; these can be different in case
+      of "absolute" declarations)
+
+  Revision 1.38  2002/11/18 17:31:54  peter
     * pass proccalloption to ret_in_xxx and push_xxx functions
     * pass proccalloption to ret_in_xxx and push_xxx functions
 
 
   Revision 1.37  2002/11/15 21:16:39  jonas
   Revision 1.37  2002/11/15 21:16:39  jonas