فهرست منبع

+ internal error added

git-svn-id: trunk@1069 -
florian 20 سال پیش
والد
کامیت
cdd5b61af8
2فایلهای تغییر یافته به همراه6 افزوده شده و 2 حذف شده
  1. 4 2
      compiler/ncal.pas
  2. 2 0
      compiler/ncgbas.pas

+ 4 - 2
compiler/ncal.pas

@@ -1,8 +1,8 @@
 {
 {
-    Copyright (c) 1998-2002 by Florian Klaempfl
-
     This file implements the node for sub procedure calling.
     This file implements the node for sub procedure calling.
 
 
+    Copyright (c) 1998-2002 by Florian Klaempfl
+
     This program is free software; you can redistribute it and/or modify
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
     the Free Software Foundation; either version 2 of the License, or
@@ -2176,6 +2176,7 @@ type
                           funcretnode := ctemprefnode.create(tempnode);
                           funcretnode := ctemprefnode.create(tempnode);
                         para.left.free;
                         para.left.free;
                         para.left := ctemprefnode.create(tempnode);
                         para.left := ctemprefnode.create(tempnode);
+
                         addstatement(deletestatement,ctempdeletenode.create_normal_temp(tempnode));
                         addstatement(deletestatement,ctempdeletenode.create_normal_temp(tempnode));
                       end
                       end
                   end
                   end
@@ -2250,6 +2251,7 @@ type
         if assigned(funcretnode) and
         if assigned(funcretnode) and
            (cnf_return_value_used in callnodeflags) then
            (cnf_return_value_used in callnodeflags) then
           addstatement(createstatement,funcretnode.getcopy);
           addstatement(createstatement,funcretnode.getcopy);
+
         { consider it must not be inlined if called
         { consider it must not be inlined if called
           again inside the args or itself }
           again inside the args or itself }
         exclude(procdefinition.procoptions,po_inline);
         exclude(procdefinition.procoptions,po_inline);

+ 2 - 0
compiler/ncgbas.pas

@@ -486,6 +486,8 @@ interface
               if release_to_normal then
               if release_to_normal then
                 tempinfo^.location.loc := LOC_REGISTER;
                 tempinfo^.location.loc := LOC_REGISTER;
             end;
             end;
+          else
+            internalerror(200507161);
         end;
         end;
       end;
       end;