On 25 Mar 2009, at 14:14, Paul Ishenin wrote:

Jonas Maebe wrote:


File a bug against gdb, it should work (it works under Mac OS X and Linux). The gdb bug repository is at http://sourceware.org/gdb/bugs/
First I need to be sure that this is a gdb bug. Maybe fpc doing a bit different handling on osx and windows?

That is irrelevant:
a) it works without gdb
b) it doesn't work in gdb if you tell gdb to ignore all signal handlers

Just make sure you include a compiled program so that the gdb maintainers don't have to install FPC to test.

Jonas, can you write a small similar C++ test?

No, because
a) the C++ exception handling system does *not* automatically catch OS or hardware exceptions, it only catches exceptions raised by C++ code (so you need to write a hardware-exception-to-C++-exception conversion framework, similar to the code in our RTL for converting hardware/OS exceptions into Pascal exceptions) b) I don't know how to catch signals under Windows (and am not interested at this time in learning low level Windows programming)
c) my C++ knowledge/experience is extremely limited

A simple C program that triggers an FPU exception without installing any handlers, is of course easy (just make sure to compile it without optimizations, so the dead code is not removed):

int main()
{
  double a, b;

  a=1.0;
  b=0.0;
  a=a/b;
  return 0;
}


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

Reply via email to