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 <math-tests-arch.h>
#include <nan-pseudo-number.h>
/* Flags set by the including file. */
const int flag_test_errno = TEST_ERRNO;
@ -124,7 +123,7 @@ const char qtype_str[] = TYPE_STR;
#define snan_value_ld __builtin_nansl ("")
/* For pseudo-normal number tests. */
#if HANDLE_PSEUDO_NUMBERS
#if TEST_COND_intel96
# include <math_ldbl.h>
#define pseudo_inf { .parts = { 0x00000000, 0x00000000, 0x7fff }}
#define pseudo_zero { .parts = { 0x00000000, 0x00000000, 0x0100 }}
@ -328,7 +327,7 @@ struct test_f_i_data
} rd, rn, rz, ru;
};
/* 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
{
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),
};
#if HANDLE_PSEUDO_NUMBERS
#if TEST_COND_intel96
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),
@ -52,7 +52,7 @@ static void
fpclassify_test (void)
{
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);
#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),
};
#if HANDLE_PSEUDO_NUMBERS
#if TEST_COND_intel96
static const struct test_f_i_data_u isinf_test_data_u[] =
{
TEST_f_b (isinf, pseudo_zero, 0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
@ -52,7 +52,7 @@ static void
isinf_test (void)
{
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);
#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),
};
#if HANDLE_PSEUDO_NUMBERS
#if TEST_COND_intel96
static const struct test_f_i_data_u isnan_test_data_u[] =
{
TEST_f_b (isnan, pseudo_zero, 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
@ -52,7 +52,7 @@ static void
isnan_test (void)
{
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);
#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),
};
#if HANDLE_PSEUDO_NUMBERS
#if TEST_COND_intel96
static const struct test_f_i_data_u issignaling_test_data_u[] =
{
TEST_f_b (issignaling, pseudo_zero, 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
@ -54,7 +54,7 @@ static void
issignaling_test (void)
{
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);
#endif
}

View file

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

View file

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