diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2012-07-16 16:51:13 +0200 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2012-07-16 18:46:40 +0200 |
commit | d0cd7d02120a1700a9b9f2b5601c35142f1be44b (patch) | |
tree | 3d69f64089de108ff23f539e330ef78b893260ba | |
parent | dd31893430a76e81cbd8b5412c5894f27bab39c7 (diff) | |
download | glibc-d0cd7d02120a1700a9b9f2b5601c35142f1be44b.zip glibc-d0cd7d02120a1700a9b9f2b5601c35142f1be44b.tar.gz glibc-d0cd7d02120a1700a9b9f2b5601c35142f1be44b.tar.bz2 |
Fix bug-getcontext test
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | stdlib/bug-getcontext.c | 25 |
2 files changed, 25 insertions, 5 deletions
@@ -1,3 +1,8 @@ +2012-07-16 Andreas Schwab <schwab@linux-m68k.org> + + * stdlib/bug-getcontext.c (do_test): Don't test FE_ALL_EXCEPT in + preprocessor. Test for each exception mask separately. + 2012-07-16 Andreas Jaeger <aj@suse.de> * po/ru.po: Update from translation team. diff --git a/stdlib/bug-getcontext.c b/stdlib/bug-getcontext.c index 7db49c8..133ee91 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; } |