@@ -0,0 +1,28 @@
+{ %OPT=-O1 -OoPEEPHOLE }
+{$mode delphi}
+
+{$C+}
+program tw39851;
+function Fn1: Boolean;
+begin
+ Result := True;
+end;
+procedure TestCmpErr;
+var
+ I: Integer;
+ I := 0;
+ if (I < 0) or (not Fn1()) then
+ begin // this branch should NOT be executed
+ ASSERT((I <= 0) and (not Fn1()));
+ Halt(1);
+ end;
+ TestCmpErr;
+ WriteLn('ok');
+end.