>>>> "AJ" == Andreas Jaeger
<aj(a)arthur.rhein-neckar.de> writes:
>>>> Martin Buchholz writes:
> The unilateral change to __exception must be a mistake in glibc.
> It will likely be fixed in any released version of glibc. Someone who
> understands floating point error handling should look at this and
> likely expunge it. My guess is that a signal handler for SIGFPE is
> all a modern system needs to have. FLOAT_CATCH_SIGILL should be nuked
> too.
AJ> He's using glibc961212 - that's an ancient;-) snapshot before glibc
AJ> 2.0 was released.
AJ> Current glibc 2.0.x and glibc 2.1 have both:
AJ> #ifdef __USE_SVID
AJ> /* In SVID error handling, `matherr' is called with this description
AJ> of the exceptional condition.
AJ> We have a problem when using C++ since `exception' is reserved in
AJ> C++. */
AJ> #ifdef __cplusplus
AJ> struct __exception
AJ> #else
AJ> struct exception
AJ> #endif
AJ> Therefore if you compile with c++ you still have problems :-(.
Right. For the time being the whole matherr definition is wrapped in
#ifdef __cplusplus
This works fine for me, and also adds fuel to my suspicions that
matherr is basically ignorable.
Try
(/ 5 0)
=> Arithmetic error
Martin