$NetBSD: patch-aa,v 1.1 1999/03/16 08:54:32 agc Exp $ The sigfpe function clashes with the gcc one. Rename it for now. --- paranoia.c 1999/03/16 08:41:31 1.1 +++ paranoia.c 1999/03/16 08:42:30 @@ -213,7 +213,7 @@ /^jmp_buf/s/^/extern / /^Sig_type/s/^/extern / s/$/\ -extern void sigfpe(INT);/ +extern void handle_sigfpe(INT);/ w paranoia.h q @@ -381,7 +381,7 @@ /* floating point exception receiver */ void -sigfpe(INT x) +handle_sigfpe(INT x) { fpecount++; printf("\n* * * FLOATING-POINT ERROR %d * * *\n", x); @@ -422,7 +422,7 @@ Milestone = 0; /*=============================================*/ #ifndef NOSIGNAL - signal(SIGFPE, sigfpe); + signal(SIGFPE, handle_sigfpe); #endif Instructions(); Pause(); @@ -1493,7 +1493,7 @@ } if (UfNGrad) { printf("\n"); - sigsave = sigfpe; + sigsave = handle_sigfpe; if (setjmp(ovfl_buf)) { printf("Underflow / UfThold failed!\n"); R = H + H; @@ -1519,7 +1519,7 @@ printf(" if (X == Z) ... else"); printf(" ... (f(X) - f(Z)) / (X - Z) ...\n"); printf("encounter Division by Zero although actually\n"); - sigsave = sigfpe; + sigsave = handle_sigfpe; if (setjmp(ovfl_buf)) printf("X / Z fails!\n"); else printf("X / Z = 1 + %g .\n", (X / Z - Half) - Half); sigsave = 0; @@ -1563,7 +1563,7 @@ BadCond(Serious, "trap on underflow.\n"); } else { - sigsave = sigfpe; + sigsave = handle_sigfpe; V9 = POW(HInvrse, Y2); sigsave = 0; printf(" %.17e .\n", V9); @@ -1670,7 +1670,7 @@ printf("This may generate an error.\n"); Y = - CInvrse; V9 = HInvrse * Y; - sigsave = sigfpe; + sigsave = handle_sigfpe; if (setjmp(ovfl_buf)) { I = 0; V9 = Y; goto overflow; } do { V = Y; @@ -1792,7 +1792,7 @@ case 5: X = Radix; } Y = X; - sigsave = sigfpe; + sigsave = handle_sigfpe; if (setjmp(ovfl_buf)) printf(" X / X traps when X = %g\n", X); else { @@ -1819,7 +1819,7 @@ read (KEYBOARD, ch, 8); if ((ch[0] == 'Y') || (ch[0] == 'y')) { #endif - sigsave = sigfpe; + sigsave = handle_sigfpe; printf(" Trying to compute 1 / 0 produces ..."); if (!setjmp(ovfl_buf)) printf(" %.7e .\n", One / MyZero); sigsave = 0; @@ -1831,7 +1831,7 @@ read (KEYBOARD, ch, 80); if ((ch[0] == 'Y') || (ch[0] == 'y')) { #endif - sigsave = sigfpe; + sigsave = handle_sigfpe; printf("\n Trying to compute 0 / 0 produces ..."); if (!setjmp(ovfl_buf)) printf(" %.7e .\n", Zero / MyZero); sigsave = 0; @@ -2071,7 +2071,7 @@ if (Z != Zero) { printf("Since comparison denies Z = 0, evaluating "); printf("(Z + Z) / Z should be safe.\n"); - sigsave = sigfpe; + sigsave = handle_sigfpe; if (setjmp(ovfl_buf)) goto very_serious; Q9 = (Z + Z) / Z; printf("What the machine gets for (Z + Z) / Z is %.17e .\n",