Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2022-03-14 05:28:25 +0300
committerMike Frysinger <vapier@gentoo.org>2022-03-17 05:01:19 +0300
commitfb42151a18a9727931f4298075d1e7a829ac2191 (patch)
tree092903041111f85d2d4103a39bf88cb22fd41d08 /newlib/libm
parent958833a0d3287bfdd4960a3e72cd11980bb9ca42 (diff)
newlib: libm: integrate tests subdir
Integrate the old libm/test/ subdir into the main build. It hasn't been used in a long time causing the code to rot a bit. I've fixed some of those, but it still fails for many ports, so it's disabled by default. People who want to take a closer look can run: $ make libm/test/test
Diffstat (limited to 'newlib/libm')
-rw-r--r--newlib/libm/Makefile.inc1
-rw-r--r--newlib/libm/test/Makefile.in202
-rw-r--r--newlib/libm/test/Makefile.inc85
-rw-r--r--newlib/libm/test/math.c6
-rw-r--r--newlib/libm/test/test.h5
-rw-r--r--newlib/libm/test/test_is.c1
6 files changed, 91 insertions, 209 deletions
diff --git a/newlib/libm/Makefile.inc b/newlib/libm/Makefile.inc
index e43ec7855..de63b8674 100644
--- a/newlib/libm/Makefile.inc
+++ b/newlib/libm/Makefile.inc
@@ -47,6 +47,7 @@ endif
include %D%/common/Makefile.inc
include %D%/complex/Makefile.inc
include %D%/fenv/Makefile.inc
+include %D%/test/Makefile.inc
if HAVE_LIBM_MACHINE_AARCH64
include %D%/machine/aarch64/Makefile.inc
diff --git a/newlib/libm/test/Makefile.in b/newlib/libm/test/Makefile.in
deleted file mode 100644
index 1f086fc68..000000000
--- a/newlib/libm/test/Makefile.in
+++ /dev/null
@@ -1,202 +0,0 @@
-# Makefile for newlib/libm/test.
-# Copyright (c) 1994, 2002 Red Hat Incorporated.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# The name of Red Hat Incorporated may not be used to endorse
-# or promote products derived from this software without specific
-# prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-TOP=..
-SRCTOP=..
-
-#### Host, target, and site specific Makefile fragments come in here.
-###
-
-
-OFILES=test.o string.o convert.o conv_vec.o iconv_vec.o test_is.o dvec.o sprint_vec.o sprint_ivec.o math2.o test_ieee.o
-
-VEC_OFILES=\
- math.o \
- atan2_vec.o \
- atan2f_vec.o \
- jn_vec.o \
- jnf_vec.o \
- log2_vec.o \
- log2f_vec.o \
- yn_vec.o \
- ynf_vec.o \
- acos_vec.o \
- acosf_vec.o \
- acosh_vec.o \
- acoshf_vec.o \
- asin_vec.o \
- asinf_vec.o \
- asinh_vec.o \
- asinhf_vec.o \
- atan_vec.o \
- atanf_vec.o \
- atanh_vec.o \
- atanhf_vec.o \
- ceil_vec.o \
- ceilf_vec.o \
- cos_vec.o \
- cosf_vec.o \
- cosh_vec.o \
- coshf_vec.o \
- erf_vec.o \
- erfc_vec.o \
- erfcf_vec.o \
- erff_vec.o \
- exp_vec.o \
- expf_vec.o \
- fabs_vec.o \
- fabsf_vec.o \
- floor_vec.o \
- floorf_vec.o \
- gamma_vec.o \
- gammaf_vec.o \
- j0_vec.o \
- j0f_vec.o \
- j1_vec.o \
- j1f_vec.o \
- log10_vec.o \
- log10f_vec.o \
- log1p_vec.o \
- log1pf_vec.o \
- log_vec.o \
- logf_vec.o \
- sin_vec.o \
- sinf_vec.o \
- sinh_vec.o \
- sinhf_vec.o \
- sqrt_vec.o \
- sqrtf_vec.o \
- tan_vec.o \
- tanf_vec.o \
- tanh_vec.o \
- tanhf_vec.o \
- y0_vec.o \
- y0f_vec.o \
- y1_vec.o \
- y1f_vec.o \
- hypotf_vec.o \
- hypot_vec.o \
- fmod_vec.o \
- fmodf_vec.o
-
-
-all:$(OFILES) $(VEC_OFILES)
- $(CROSS_LD) -o test ../../crt0.o $(OFILES) $(VEC_OFILES) ../../libc.a ../../libm.a
-
-
-clean mostlyclean:
- $(RM) $(OFILES) $(VEC_OFILES) *~
-
-distclean maintainer-clean realclean: clean
- rm -f Makefile config.status
-
-
-Makefile:Makefile.in
- $(SHELL) config.status
-
-# to support SunOS VPATH
-acos_vec.o: acos_vec.c
-acosf_vec.o: acosf_vec.c
-acosh_vec.o: acosh_vec.c
-acoshf_vec.o: acoshf_vec.c
-asin_vec.o: asin_vec.c
-asinf_vec.o: asinf_vec.c
-asinh_vec.o: asinh_vec.c
-asinhf_vec.o: asinhf_vec.c
-atan2_vec.o: atan2_vec.c
-atan2f_vec.o: atan2f_vec.c
-atan_vec.o: atan_vec.c
-atanf_vec.o: atanf_vec.c
-atanh_vec.o: atanh_vec.c
-atanhf_vec.o: atanhf_vec.c
-ceil_vec.o: ceil_vec.c
-ceilf_vec.o: ceilf_vec.c
-conv_vec.o: conv_vec.c
-convert.o: convert.c
-cos_vec.o: cos_vec.c
-cosf_vec.o: cosf_vec.c
-cosh_vec.o: cosh_vec.c
-coshf_vec.o: coshf_vec.c
-dcvt.o: dcvt.c
-dvec.o: dvec.c
-erf_vec.o: erf_vec.c
-erfc_vec.o: erfc_vec.c
-erfcf_vec.o: erfcf_vec.c
-erff_vec.o: erff_vec.c
-exp_vec.o: exp_vec.c
-expf_vec.o: expf_vec.c
-fabs_vec.o: fabs_vec.c
-fabsf_vec.o: fabsf_vec.c
-floor_vec.o: floor_vec.c
-floorf_vec.o: floorf_vec.c
-fmod_vec.o: fmod_vec.c
-fmodf_vec.o: fmodf_vec.c
-gamma_vec.o: gamma_vec.c
-gammaf_vec.o: gammaf_vec.c
-hypot_vec.o: hypot_vec.c
-hypotf_vec.o: hypotf_vec.c
-iconv_vec.o: iconv_vec.c
-j0_vec.o: j0_vec.c
-j0f_vec.o: j0f_vec.c
-j1_vec.o: j1_vec.c
-j1f_vec.o: j1f_vec.c
-jn_vec.o: jn_vec.c
-jnf_vec.o: jnf_vec.c
-log10_vec.o: log10_vec.c
-log10f_vec.o: log10f_vec.c
-log1p_vec.o: log1p_vec.c
-log1pf_vec.o: log1pf_vec.c
-log2_vec.o: log2_vec.c
-log2f_vec.o: log2f_vec.c
-log_vec.o: log_vec.c
-logf_vec.o: logf_vec.c
-math.o: math.c
-math2.o: math2.c
-sin_vec.o: sin_vec.c
-sinf_vec.o: sinf_vec.c
-sinh_vec.o: sinh_vec.c
-sinhf_vec.o: sinhf_vec.c
-sprint_ivec.o: sprint_ivec.c
-sprint_vec.o: sprint_vec.c
-sqrt_vec.o: sqrt_vec.c
-sqrtf_vec.o: sqrtf_vec.c
-string.o: string.c
-tan_vec.o: tan_vec.c
-tanf_vec.o: tanf_vec.c
-tanh_vec.o: tanh_vec.c
-tanhf_vec.o: tanhf_vec.c
-test.o: test.c
-test_ieee.o: test_ieee.c
-test_is.o: test_is.c
-y0_vec.o: y0_vec.c
-y0f_vec.o: y0f_vec.c
-y1_vec.o: y1_vec.c
-y1f_vec.o: y1f_vec.c
-yn_vec.o: yn_vec.c
-ynf_vec.o: ynf_vec.c
diff --git a/newlib/libm/test/Makefile.inc b/newlib/libm/test/Makefile.inc
new file mode 100644
index 000000000..ddf09c931
--- /dev/null
+++ b/newlib/libm/test/Makefile.inc
@@ -0,0 +1,85 @@
+# Some of the tests in here depend on functionality that only a few ports
+# provide. Disable building it by default until that's figured out.
+#check_PROGRAMS += %D%/test
+EXTRA_PROGRAMS += %D%/test
+
+%C%_test_SOURCES = \
+ %D%/test.c \
+ %D%/string.c \
+ %D%/convert.c \
+ %D%/conv_vec.c \
+ %D%/iconv_vec.c \
+ %D%/test_is.c \
+ %D%/dvec.c \
+ %D%/sprint_vec.c \
+ %D%/sprint_ivec.c \
+ %D%/math2.c \
+ %D%/test_ieee.c \
+ %D%/math.c \
+ %D%/atan2_vec.c \
+ %D%/atan2f_vec.c \
+ %D%/jn_vec.c \
+ %D%/jnf_vec.c \
+ %D%/log2_vec.c \
+ %D%/log2f_vec.c \
+ %D%/yn_vec.c \
+ %D%/ynf_vec.c \
+ %D%/acos_vec.c \
+ %D%/acosf_vec.c \
+ %D%/acosh_vec.c \
+ %D%/acoshf_vec.c \
+ %D%/asin_vec.c \
+ %D%/asinf_vec.c \
+ %D%/asinh_vec.c \
+ %D%/asinhf_vec.c \
+ %D%/atan_vec.c \
+ %D%/atanf_vec.c \
+ %D%/atanh_vec.c \
+ %D%/atanhf_vec.c \
+ %D%/ceil_vec.c \
+ %D%/ceilf_vec.c \
+ %D%/cos_vec.c \
+ %D%/cosf_vec.c \
+ %D%/cosh_vec.c \
+ %D%/coshf_vec.c \
+ %D%/erf_vec.c \
+ %D%/erfc_vec.c \
+ %D%/erfcf_vec.c \
+ %D%/erff_vec.c \
+ %D%/exp_vec.c \
+ %D%/expf_vec.c \
+ %D%/fabs_vec.c \
+ %D%/fabsf_vec.c \
+ %D%/floor_vec.c \
+ %D%/floorf_vec.c \
+ %D%/gamma_vec.c \
+ %D%/gammaf_vec.c \
+ %D%/j0_vec.c \
+ %D%/j0f_vec.c \
+ %D%/j1_vec.c \
+ %D%/j1f_vec.c \
+ %D%/log10_vec.c \
+ %D%/log10f_vec.c \
+ %D%/log1p_vec.c \
+ %D%/log1pf_vec.c \
+ %D%/log_vec.c \
+ %D%/logf_vec.c \
+ %D%/sin_vec.c \
+ %D%/sinf_vec.c \
+ %D%/sinh_vec.c \
+ %D%/sinhf_vec.c \
+ %D%/sqrt_vec.c \
+ %D%/sqrtf_vec.c \
+ %D%/tan_vec.c \
+ %D%/tanf_vec.c \
+ %D%/tanh_vec.c \
+ %D%/tanhf_vec.c \
+ %D%/y0_vec.c \
+ %D%/y0f_vec.c \
+ %D%/y1_vec.c \
+ %D%/y1f_vec.c \
+ %D%/hypotf_vec.c \
+ %D%/hypot_vec.c \
+ %D%/fmod_vec.c \
+ %D%/fmodf_vec.c
+%C%_test_LDADD = $(CRT0) libm.a libc.a
diff --git a/newlib/libm/test/math.c b/newlib/libm/test/math.c
index cd8441cc5..5cea2adff 100644
--- a/newlib/libm/test/math.c
+++ b/newlib/libm/test/math.c
@@ -24,15 +24,11 @@
#include <errno.h>
#include <stdio.h>
-int inacc;
-
int merror;
double mretval = 64;
int traperror = 1;
char *mname;
-int verbose;
-
void translate_to (FILE *file,
double r)
{
@@ -101,7 +97,6 @@ thedouble (long msw,
}
int calc;
-int reduce;
frontline (FILE *f,
@@ -171,7 +166,6 @@ finish (FILE *f,
frontline(f, mag, p, result, merror, errno, args , name);
}
}
-int redo;
run_vector_1 (int vector,
one_line_type *p,
diff --git a/newlib/libm/test/test.h b/newlib/libm/test/test.h
index e95c6b4c4..48d3fcd38 100644
--- a/newlib/libm/test/test.h
+++ b/newlib/libm/test/test.h
@@ -7,6 +7,11 @@
#include <ieeefp.h>
#include <stdio.h>
+extern int inacc;
+extern int redo;
+extern int reduce;
+extern int verbose;
+
void checkf();
void enter();
diff --git a/newlib/libm/test/test_is.c b/newlib/libm/test/test_is.c
index ac8f79c49..6d4f52c63 100644
--- a/newlib/libm/test/test_is.c
+++ b/newlib/libm/test/test_is.c
@@ -1930,7 +1930,6 @@ int def_toascii (int i) { return toascii(i); }
int def__tolower (int i) { return _tolower(i); }
int def__toupper (int i) { return _toupper(i); }
-extern int inacc;
void
test_is_set (int (*func)(),
char *name,