From d0cd7d02120a1700a9b9f2b5601c35142f1be44b Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Mon, 16 Jul 2012 16:51:13 +0200 Subject: Fix bug-getcontext test --- stdlib/bug-getcontext.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'stdlib') diff --git a/stdlib/bug-getcontext.c b/stdlib/bug-getcontext.c index 7db49c8499..133ee91eff 100644 --- a/stdlib/bug-getcontext.c +++ b/stdlib/bug-getcontext.c @@ -9,10 +9,25 @@ static int do_test (void) { -#if FE_ALL_EXCEPT == 0 - printf("Skipping test; no support for FP exceptions.\n"); -#else - int except_mask = FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW; + if (FE_ALL_EXCEPT == 0) + { + printf("Skipping test; no support for FP exceptions.\n"); + return 0; + } + + int except_mask = 0; +#ifdef FE_DIVBYZERO + except_mask |= FE_DIVBYZERO; +#endif +#ifdef FE_INVALID + except_mask |= FE_INVALID; +#endif +#ifdef FE_OVERFLOW + except_mask |= FE_OVERFLOW; +#endif +#ifdef FE_UNDERFLOW + except_mask |= FE_UNDERFLOW; +#endif int status = feenableexcept (except_mask); except_mask = fegetexcept (); @@ -44,7 +59,7 @@ do_test (void) printf("\nAt end fegetexcept() returned %d, expected: %d.\n", mask, except_mask); -#endif + return 0; } -- cgit 1.4.1