Explorar el Código

* Fix double WARN infinite loop

git-svn-id: trunk@17864 -
pierre hace 14 años
padre
commit
d707d38ea1
Se han modificado 1 ficheros con 4 adiciones y 2 borrados
  1. 4 2
      compiler/switches.pas

+ 4 - 2
compiler/switches.pas

@@ -346,8 +346,10 @@ procedure flushpendingswitchesstate;
           begin
           begin
             pstate^.next:=current_settings.pmessage;
             pstate^.next:=current_settings.pmessage;
             current_settings.pmessage:=fstate;
             current_settings.pmessage:=fstate;
-          end;
-        pstate:=pstate^.next;
+            pstate:=nil;
+          end
+        else
+          pstate:=pstate^.next;
         pendingstate.nextmessagerecord:=nil;
         pendingstate.nextmessagerecord:=nil;
       end;
       end;
     { process pending calling convention changes (calling x) }
     { process pending calling convention changes (calling x) }