1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-07 06:43:00 +03:00

Drop nan-pseudo-number.h usage from tests

Make the tests use TEST_COND_intel96 to decide on whether to build the
unnormal tests instead of the macro in nan-pseudo-number.h and then
drop the header inclusion.  This unbreaks test runs on all
architectures that do not have ldbl-96.

Also drop the HANDLE_PSEUDO_NUMBERS macro since it is not used
anywhere.
This commit is contained in:
Siddhesh Poyarekar
2021-01-04 17:40:04 +05:30
parent 252864544a
commit 8cc1e39a36
7 changed files with 11 additions and 15 deletions

View File

@@ -19,7 +19,6 @@
#include "libm-test-support.h" #include "libm-test-support.h"
#include <math-tests-arch.h> #include <math-tests-arch.h>
#include <nan-pseudo-number.h>
/* Flags set by the including file. */ /* Flags set by the including file. */
const int flag_test_errno = TEST_ERRNO; const int flag_test_errno = TEST_ERRNO;
@@ -124,7 +123,7 @@ const char qtype_str[] = TYPE_STR;
#define snan_value_ld __builtin_nansl ("") #define snan_value_ld __builtin_nansl ("")
/* For pseudo-normal number tests. */ /* For pseudo-normal number tests. */
#if HANDLE_PSEUDO_NUMBERS #if TEST_COND_intel96
# include <math_ldbl.h> # include <math_ldbl.h>
#define pseudo_inf { .parts = { 0x00000000, 0x00000000, 0x7fff }} #define pseudo_inf { .parts = { 0x00000000, 0x00000000, 0x7fff }}
#define pseudo_zero { .parts = { 0x00000000, 0x00000000, 0x0100 }} #define pseudo_zero { .parts = { 0x00000000, 0x00000000, 0x0100 }}
@@ -328,7 +327,7 @@ struct test_f_i_data
} rd, rn, rz, ru; } rd, rn, rz, ru;
}; };
/* Used for RUN_TEST_LOOP_f_i_tg_u and RUN_TEST_LOOP_f_b_tg_u. */ /* Used for RUN_TEST_LOOP_f_i_tg_u and RUN_TEST_LOOP_f_b_tg_u. */
#if HANDLE_PSEUDO_NUMBERS #if TEST_COND_intel96
struct test_f_i_data_u struct test_f_i_data_u
{ {
const char *arg_str; const char *arg_str;

View File

@@ -37,7 +37,7 @@ static const struct test_f_i_data fpclassify_test_data[] =
TEST_f_i (fpclassify, -min_subnorm_value, FP_SUBNORMAL, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_f_i (fpclassify, -min_subnorm_value, FP_SUBNORMAL, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
}; };
#if HANDLE_PSEUDO_NUMBERS #if TEST_COND_intel96
static const struct test_f_i_data_u fpclassify_test_data_u[] = static const struct test_f_i_data_u fpclassify_test_data_u[] =
{ {
TEST_f_i (fpclassify, pseudo_zero, FP_NAN, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_f_i (fpclassify, pseudo_zero, FP_NAN, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
@@ -52,7 +52,7 @@ static void
fpclassify_test (void) fpclassify_test (void)
{ {
ALL_RM_TEST (fpclassify, 1, fpclassify_test_data, RUN_TEST_LOOP_f_i_tg, END); ALL_RM_TEST (fpclassify, 1, fpclassify_test_data, RUN_TEST_LOOP_f_i_tg, END);
#if HANDLE_PSEUDO_NUMBERS #if TEST_COND_intel96
ALL_RM_TEST (fpclassify, 1, fpclassify_test_data_u, RUN_TEST_LOOP_f_i_tg_u, END); ALL_RM_TEST (fpclassify, 1, fpclassify_test_data_u, RUN_TEST_LOOP_f_i_tg_u, END);
#endif #endif
} }

View File

@@ -37,7 +37,7 @@ static const struct test_f_i_data isinf_test_data[] =
TEST_f_b (isinf, -snan_value, 0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_f_b (isinf, -snan_value, 0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
}; };
#if HANDLE_PSEUDO_NUMBERS #if TEST_COND_intel96
static const struct test_f_i_data_u isinf_test_data_u[] = static const struct test_f_i_data_u isinf_test_data_u[] =
{ {
TEST_f_b (isinf, pseudo_zero, 0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_f_b (isinf, pseudo_zero, 0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
@@ -52,7 +52,7 @@ static void
isinf_test (void) isinf_test (void)
{ {
ALL_RM_TEST (isinf, 1, isinf_test_data, RUN_TEST_LOOP_f_b_tg, END); ALL_RM_TEST (isinf, 1, isinf_test_data, RUN_TEST_LOOP_f_b_tg, END);
#if HANDLE_PSEUDO_NUMBERS #if TEST_COND_intel96
ALL_RM_TEST (isinf, 1, isinf_test_data_u, RUN_TEST_LOOP_f_b_tg_u, END); ALL_RM_TEST (isinf, 1, isinf_test_data_u, RUN_TEST_LOOP_f_b_tg_u, END);
#endif #endif
} }

View File

@@ -37,7 +37,7 @@ static const struct test_f_i_data isnan_test_data[] =
TEST_f_b (isnan, -snan_value, 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_f_b (isnan, -snan_value, 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
}; };
#if HANDLE_PSEUDO_NUMBERS #if TEST_COND_intel96
static const struct test_f_i_data_u isnan_test_data_u[] = static const struct test_f_i_data_u isnan_test_data_u[] =
{ {
TEST_f_b (isnan, pseudo_zero, 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_f_b (isnan, pseudo_zero, 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
@@ -52,7 +52,7 @@ static void
isnan_test (void) isnan_test (void)
{ {
ALL_RM_TEST (isnan, 1, isnan_test_data, RUN_TEST_LOOP_f_b_tg, END); ALL_RM_TEST (isnan, 1, isnan_test_data, RUN_TEST_LOOP_f_b_tg, END);
#if HANDLE_PSEUDO_NUMBERS #if TEST_COND_intel96
ALL_RM_TEST (isnan, 1, isnan_test_data_u, RUN_TEST_LOOP_f_b_tg_u, END); ALL_RM_TEST (isnan, 1, isnan_test_data_u, RUN_TEST_LOOP_f_b_tg_u, END);
#endif #endif
} }

View File

@@ -39,7 +39,7 @@ static const struct test_f_i_data issignaling_test_data[] =
TEST_f_b (issignaling, -snan_value_MACRO, 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_f_b (issignaling, -snan_value_MACRO, 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
}; };
#if HANDLE_PSEUDO_NUMBERS #if TEST_COND_intel96
static const struct test_f_i_data_u issignaling_test_data_u[] = static const struct test_f_i_data_u issignaling_test_data_u[] =
{ {
TEST_f_b (issignaling, pseudo_zero, 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_f_b (issignaling, pseudo_zero, 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
@@ -54,7 +54,7 @@ static void
issignaling_test (void) issignaling_test (void)
{ {
ALL_RM_TEST (issignaling, 1, issignaling_test_data, RUN_TEST_LOOP_f_b_tg, END); ALL_RM_TEST (issignaling, 1, issignaling_test_data, RUN_TEST_LOOP_f_b_tg, END);
#if HANDLE_PSEUDO_NUMBERS #if TEST_COND_intel96
ALL_RM_TEST (issignaling, 1, issignaling_test_data_u, RUN_TEST_LOOP_f_b_tg_u, END); ALL_RM_TEST (issignaling, 1, issignaling_test_data_u, RUN_TEST_LOOP_f_b_tg_u, END);
#endif #endif
} }

View File

@@ -19,9 +19,7 @@
#ifndef NAN_PSEUDO_NUMBER_H #ifndef NAN_PSEUDO_NUMBER_H
#define NAN_PSEUDO_NUMBER_H 1 #define NAN_PSEUDO_NUMBER_H 1
/* Set this macro and override the definition of IS_PSEUDO_SIGNALING if pseudo /* Default is to assume that pseudo numbers are not signaling. */
numbers need special handling. */
#define HANDLE_PSEUDO_NUMBERS 0
static inline int static inline int
is_pseudo_signaling (uint32_t exi, uint32_t hxi) is_pseudo_signaling (uint32_t exi, uint32_t hxi)
{ {

View File

@@ -19,7 +19,6 @@
#ifndef NAN_PSEUDO_NUMBER_H #ifndef NAN_PSEUDO_NUMBER_H
#define NAN_PSEUDO_NUMBER_H 1 #define NAN_PSEUDO_NUMBER_H 1
#define HANDLE_PSEUDO_NUMBERS 1
/* Pseudo numbers on x86 are always signaling. */ /* Pseudo numbers on x86 are always signaling. */
static inline int static inline int
is_pseudo_signaling (uint32_t exi, uint32_t hxi) is_pseudo_signaling (uint32_t exi, uint32_t hxi)