Quellcode durchsuchen

+ Workaround for IE2010053115 internal errors while writing PPU with explicitparaloc functions.
* MorphOS cycles again now at least, someone with clue might want to take a look if this is the proper way to fix this.

git-svn-id: trunk@16154 -

Károly Balogh vor 15 Jahren
Ursprung
Commit
f634ef6640
1 geänderte Dateien mit 13 neuen und 1 gelöschten Zeilen
  1. 13 1
      compiler/parabase.pas

+ 13 - 1
compiler/parabase.pas

@@ -286,6 +286,12 @@ implementation
 {$endif}
 {$endif}
                   ppufile.putlongint(longint(hparaloc^.register));
                   ppufile.putlongint(longint(hparaloc^.register));
                 end;
                 end;
+              { This seems to be required for systems using explicitparaloc (eg. MorphOS)
+                or otherwise it hits the internalerror below. I don't know if this is
+                the proper way to fix this, someone else with clue might want to take a
+                look. The compiler cycles on the affected systems with this enabled. (KB) }
+              LOC_VOID:
+                begin end
               else
               else
                 internalerror(2010053115);
                 internalerror(2010053115);
             end;
             end;
@@ -329,7 +335,13 @@ implementation
                   hparaloc^.shiftval:=ppufile.getbyte;
                   hparaloc^.shiftval:=ppufile.getbyte;
 {$endif}
 {$endif}
                   hparaloc^.register:=tregister(ppufile.getlongint);
                   hparaloc^.register:=tregister(ppufile.getlongint);
-                end
+                end;
+              { This seems to be required for systems using explicitparaloc (eg. MorphOS)
+                or otherwise it hits the internalerror below. I don't know if this is
+                the proper way to fix this, someone else with clue might want to take a
+                look. The compiler cycles on the affected systems with this enabled. (KB) }
+              LOC_VOID:
+                begin end
               else
               else
                 internalerror(2010051301);
                 internalerror(2010051301);
             end;
             end;