about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@ezchip.com>2014-12-30 14:11:13 -0500
committerChris Metcalf <cmetcalf@ezchip.com>2014-12-30 14:11:13 -0500
commit1ff950ad20111b591ad1312df4d802de9d1f1b1e (patch)
tree6634ad2285443326d46d32a27f5d0d568ea5452e
parent0f9dfe0432a90441be688f2776aa19fedbfcdcbb (diff)
downloadglibc-1ff950ad20111b591ad1312df4d802de9d1f1b1e.tar.gz
glibc-1ff950ad20111b591ad1312df4d802de9d1f1b1e.tar.xz
glibc-1ff950ad20111b591ad1312df4d802de9d1f1b1e.zip
Fix some warnings in the absence of FP round/exception support
Due to tile missing a bunch of FP exception and rounding
support, the tests generate warnings.  These changes fix the
warnings by just not compiling some unused functions, and
adding some attribute ((unused)) tags.
-rw-r--r--ChangeLog14
-rw-r--r--math/libm-test.inc7
-rw-r--r--math/test-fenv.c14
-rw-r--r--setjmp/tst-setjmp-fp.c2
-rw-r--r--stdio-common/tst-printf-round.c2
-rw-r--r--stdlib/tst-strtod-round.c2
-rw-r--r--stdlib/tst-strtod-underflow.c2
7 files changed, 32 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 5780c3a7f0..d6c2d287f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2014-12-30  Chris Metcalf  <cmetcalf@ezchip.com>
+
+	* math/test-fenv.c (test_single_exception, set_single_exc,
+	feenv_nomask_test, feenv_mask_test, feexcp_nomask_test,
+	feexcp_mask_test, feenable_test, fe_single_test): Add
+	[!FE_ALL_EXCEPT] test so these routines are not compiled in the
+	case where they are not used.
+	* math/libm-test.inc: Likewise.
+	* setjmp/test-setjmp-fp.c: Mark attribute ((unused)) on variable
+	unused in the absence of FP rounding/exception support.
+	* stdio-common/tst-printf-round.c: Likewise.
+	* stdlib/tst-strtod-round.c: Likewise.
+	* stdlib/tst-strtod-underflow.c: Likewise.
+
 2014-12-30  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #17723]
diff --git a/math/libm-test.inc b/math/libm-test.inc
index f86a4fa054..b44b2db7c9 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -590,6 +590,7 @@ print_complex_max_error (const char *func_name)
 }
 
 
+#if FE_ALL_EXCEPT
 /* Test whether a given exception was raised.  */
 static void
 test_single_exception (const char *test_name,
@@ -598,7 +599,7 @@ test_single_exception (const char *test_name,
 		       int fe_flag,
 		       const char *flag_name)
 {
-#ifndef TEST_INLINE
+# ifndef TEST_INLINE
   int ok = 1;
   if (exception & exc_flag)
     {
@@ -634,9 +635,9 @@ test_single_exception (const char *test_name,
   if (!ok)
     ++noErrors;
 
-#endif
+# endif
 }
-
+#endif
 
 /* Test whether exceptions given by EXCEPTION are raised.  Ignore thereby
    allowed but not required exceptions.
diff --git a/math/test-fenv.c b/math/test-fenv.c
index 23e47d4f36..0783fb1c5c 100644
--- a/math/test-fenv.c
+++ b/math/test-fenv.c
@@ -54,6 +54,7 @@
 
 static int count_errors;
 
+#if FE_ALL_EXCEPT
 /* Test whether a given exception was raised.  */
 static void
 test_single_exception (short int exception,
@@ -84,6 +85,7 @@ test_single_exception (short int exception,
         }
     }
 }
+#endif
 
 static void
 test_exceptions (const char *test_name, short int exception,
@@ -164,6 +166,7 @@ test_rounding (const char *test_name, int rounding_mode)
 }
 
 
+#if FE_ALL_EXCEPT
 static void
 set_single_exc (const char *test_name, int fe_exc, fexcept_t exception)
 {
@@ -195,6 +198,7 @@ set_single_exc (const char *test_name, int fe_exc, fexcept_t exception)
   feclearexcept (exception);
   test_exceptions (str, ALL_EXC ^ fe_exc, 0);
 }
+#endif
 
 static void
 fe_tests (void)
@@ -227,11 +231,12 @@ fe_tests (void)
 #endif
 }
 
+#if FE_ALL_EXCEPT
 /* Test that program aborts with no masked interrupts */
 static void
 feenv_nomask_test (const char *flag_name, int fe_exc)
 {
-#if defined FE_NOMASK_ENV
+# if defined FE_NOMASK_ENV
   int status;
   pid_t pid;
 
@@ -247,13 +252,13 @@ feenv_nomask_test (const char *flag_name, int fe_exc)
   pid = fork ();
   if (pid == 0)
     {
-#ifdef RLIMIT_CORE
+#  ifdef RLIMIT_CORE
       /* Try to avoid dumping core.  */
       struct rlimit core_limit;
       core_limit.rlim_cur = 0;
       core_limit.rlim_max = 0;
       setrlimit (RLIMIT_CORE, &core_limit);
-#endif
+#  endif
 
       fesetenv (FE_NOMASK_ENV);
       feraiseexcept (fe_exc);
@@ -284,7 +289,7 @@ feenv_nomask_test (const char *flag_name, int fe_exc)
 	++count_errors;
       }
   }
-#endif
+# endif
 }
 
 /* Test that program doesn't abort with default environment */
@@ -613,6 +618,7 @@ fe_single_test (const char *flag_name, int fe_exc)
   feenv_mask_test (flag_name, fe_exc);
   feenable_test (flag_name, fe_exc);
 }
+#endif
 
 
 static void
diff --git a/setjmp/tst-setjmp-fp.c b/setjmp/tst-setjmp-fp.c
index d84c47ed5c..8cdb5356a1 100644
--- a/setjmp/tst-setjmp-fp.c
+++ b/setjmp/tst-setjmp-fp.c
@@ -22,7 +22,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-static jmp_buf env;
+static jmp_buf __attribute__ ((unused)) env;
 static int result = 0;
 
 #if defined FE_TONEAREST && defined FE_TOWARDZERO
diff --git a/stdio-common/tst-printf-round.c b/stdio-common/tst-printf-round.c
index 5035ddae4c..6022edf26d 100644
--- a/stdio-common/tst-printf-round.c
+++ b/stdio-common/tst-printf-round.c
@@ -164,7 +164,7 @@ test_hex_in_one_mode (double d, const char *fmt, const char *const expected[4],
 static int
 do_test (void)
 {
-  int save_round_mode = fegetround ();
+  int save_round_mode __attribute__ ((unused)) = fegetround ();
   int result = 0;
 
   for (size_t i = 0; i < sizeof (dec_tests) / sizeof (dec_tests[0]); i++)
diff --git a/stdlib/tst-strtod-round.c b/stdlib/tst-strtod-round.c
index cbde457451..2a278d0871 100644
--- a/stdlib/tst-strtod-round.c
+++ b/stdlib/tst-strtod-round.c
@@ -7874,7 +7874,7 @@ test_in_one_mode (const char *s, const struct test_results *expected,
 static int
 do_test (void)
 {
-  int save_round_mode = fegetround ();
+  int save_round_mode __attribute__ ((unused)) = fegetround ();
   int result = 0;
   for (size_t i = 0; i < sizeof (tests) / sizeof (tests[0]); i++)
     {
diff --git a/stdlib/tst-strtod-underflow.c b/stdlib/tst-strtod-underflow.c
index bc2374188b..82bb483fcf 100644
--- a/stdlib/tst-strtod-underflow.c
+++ b/stdlib/tst-strtod-underflow.c
@@ -171,7 +171,7 @@ test_in_one_mode (const char *s, enum underflow_case c, int rm,
 static int
 do_test (void)
 {
-  int save_round_mode = fegetround ();
+  int save_round_mode __attribute__ ((unused)) = fegetround ();
   int result = 0;
 #ifdef FE_TONEAREST
   const int fe_tonearest = FE_TONEAREST;