diff options
Diffstat (limited to 'libc/i386fp/fperr.c')
-rw-r--r-- | libc/i386fp/fperr.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/libc/i386fp/fperr.c b/libc/i386fp/fperr.c new file mode 100644 index 0000000..fa1633e --- /dev/null +++ b/libc/i386fp/fperr.c @@ -0,0 +1,44 @@ +#include <stdio.h> +#include <signal.h> + +#include "fperr.h" + +void fperr(errno) +int errno; +{ + +#if defined(DEBUG) || 0 + switch(errno) { + + case EFDENORMAL: + fputs("\nDenormal - ", stderr); + break; + + case EFINFINITY: + fputs("\nInfinity - ", stderr); + break; + + case EFNAN: + fputs("\nNaN - ", stderr); + break; + + case EFOVERFLOW: + fputs("\nOverflow - ", stderr); + break; + + case EFUNDERFLOW: + fputs("\nUnderflow - ", stderr); + break; + + case EFDIVZERO: + fputs("\nZero divide - ", stderr); + break; + + default: + fprintf(stderr, "\nUnknown error 0x%x - ", errno); + } + fflush(stderr); +#endif + + kill(getpid(), SIGFPE); +} |