瀏覽代碼

* only in EXTDEBUG leave register allocator when it fails. Otherwise
give an IE

peter 20 年之前
父節點
當前提交
e207c402fc
共有 1 個文件被更改,包括 14 次插入4 次删除
  1. 14 4
      compiler/rgobj.pas

+ 14 - 4
compiler/rgobj.pas

@@ -536,9 +536,15 @@ unit rgobj;
             begin
             begin
               inc(spillingcounter);
               inc(spillingcounter);
               if spillingcounter>maxspillingcounter then
               if spillingcounter>maxspillingcounter then
-                exit;
-              if spillingcounter>maxspillingcounter then
-                internalerror(200309041);
+                begin
+{$ifdef EXTDEBUG}
+                  { Only exit here so the .s file is still generated. Assembling
+                    the file will still trigger an error }
+                  exit;
+{$else}
+                  internalerror(200309041);
+{$endif}
+                end;
               endspill:=not spill_registers(list,headertai);
               endspill:=not spill_registers(list,headertai);
             end;
             end;
         until endspill;
         until endspill;
@@ -2014,7 +2020,11 @@ unit rgobj;
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.156  2005-03-25 21:55:43  jonas
+  Revision 1.157  2005-04-07 15:42:04  peter
+    * only in EXTDEBUG leave register allocator when it fails. Otherwise
+      give an IE
+
+  Revision 1.156  2005/03/25 21:55:43  jonas
     * removed some unused variables
     * removed some unused variables
 
 
   Revision 1.155  2005/03/20 19:47:46  peter
   Revision 1.155  2005/03/20 19:47:46  peter