> Hi,
>
> I have a strange problem. My Qt4 demo program worked
> fine with FPC 2.0.0, but crashes (div by zero) with FPC 2.0.2.
> Debugging shows that indeed a div by zero is done within
> the Qt4 lib. However with FPC 2.0.0 or using C++ code the library
> isn't bothered with the div by zero. When I use FPC 2.0.2 however
> it is.
>
> I added some writelns euh printfs in the Qt lib:
>  if (p1.x() == p2.x()) printf("Before DIV by Zero: p1.x:%f p2.x:
> %f\n",p1.x(),p2.x());
> edge.m = (p1.y() - p2.y()) / (p1.x() - p2.x()); // this causes the div by
> zero
> if (p1.x() == p2.x()) printf("After DIV by Zero: p1.x:%f p2.x:
> %f\n",p1.x(),p2.x());
>
> with FPC 2.0.2 I get
>
> Before DIV by Zero: p1.x:196.500000 p2.x:196.500000
> An unhandled exception occurred at $405CB772 :
> EDivByZero : Division by zero
>   $405CB772
> etc
>
> with FPC 2.0.0 or the original C++ demo program I get:
> Before DIV by Zero: p1.x:196.500000 p2.x:196.500000
> After DIV by Zero: p1.x:196.500000 p2.x:196.500000
> Before DIV by Zero: p1.x:187.500000 p2.x:187.500000
> After DIV by Zero: p1.x:187.500000 p2.x:187.500000
> Before DIV by Zero: p1.x:100.000000 p2.x:100.000000
> After DIV by Zero: p1.x:100.000000 p2.x:100.000000
> and so on, never a crash (but why :-)
>
> Anyone any idea?

In 2.0.0 the fpu exceptions are disabled if linking to C. In 2.0.2 this is
fixed.



_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to