This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Split libm-test.inc by function [committed]


Continuing the process of splitting up libm tests into more reasonably
sized units, this patch splits libm-test.inc into 121 separate
libm-test-<function>.inc files, one per array of test data.  (There
are 126 libm *_test functions, but five of those are for functions
that are aliases for test purposes and so share arrays of test data.)

In the present patch, the 121 files get processed separately by
gen-libm-test.pl, each using only the auto-libm-test-out-<function>
file that is relevant (/dev/null for functions not using
auto-libm-test-* at all).  This effectively eliminates the
serialization on running gen-libm-test.pl.  However, the resulting .c
files still all get #included together, so compiling the limited
number of libm tests using libm-test.inc may still act as a
serialization point (the compilations still all have 40 MB of code to
process).  libm-test.inc doesn't actually have anything in it any more
that needs gen-libm-test.pl processing, but is left as a .inc file
that gets processed to produce a .c file, rather than being renamed,
since the intent of this patch is as an intermediate step before
libm-test.inc gets removed and tests get compiled separately for each
function being tested.

Tested for x86_64.  Committed.  New .inc files and removal of 
libm-test.inc code omitted from the diff below.

2017-02-06  Joseph Myers  <joseph@codesourcery.com>

	* math/libm-test.inc: Move all tests of individual functions to
	libm-test-*.inc and #include libm-test-*.c files.
	(acos_test_data): Remove.
	(acos_test): Likewise.
	(acosh_test_data): Likewise.
	(acosh_test): Likewise.
	(asin_test_data): Likewise.
	(asin_test): Likewise.
	(asinh_test_data): Likewise.
	(asinh_test): Likewise.
	(atan_test_data): Likewise.
	(atan_test): Likewise.
	(atanh_test_data): Likewise.
	(atanh_test): Likewise.
	(atan2_test_data): Likewise.
	(atan2_test): Likewise.
	(cabs_test_data): Likewise.
	(cabs_test): Likewise.
	(cacos_test_data): Likewise.
	(cacos_test): Likewise.
	(cacosh_test_data): Likewise.
	(cacosh_test): Likewise.
	(canonicalize_test_data): Likewise.
	(canonicalize_test): Likewise.
	(carg_test_data): Likewise.
	(carg_test): Likewise.
	(casin_test_data): Likewise.
	(casin_test): Likewise.
	(casinh_test_data): Likewise.
	(casinh_test): Likewise.
	(catan_test_data): Likewise.
	(catan_test): Likewise.
	(catanh_test_data): Likewise.
	(catanh_test): Likewise.
	(cbrt_test_data): Likewise.
	(cbrt_test): Likewise.
	(ccos_test_data): Likewise.
	(ccos_test): Likewise.
	(ccosh_test_data): Likewise.
	(ccosh_test): Likewise.
	(ceil_test_data): Likewise.
	(ceil_test): Likewise.
	(cexp_test_data): Likewise.
	(cexp_test): Likewise.
	(cimag_test_data): Likewise.
	(cimag_test): Likewise.
	(clog_test_data): Likewise.
	(clog_test): Likewise.
	(clog10_test_data): Likewise.
	(clog10_test): Likewise.
	(conj_test_data): Likewise.
	(conj_test): Likewise.
	(copysign_test_data): Likewise.
	(copysign_test): Likewise.
	(cos_test_data): Likewise.
	(cos_test): Likewise.
	(cosh_test_data): Likewise.
	(cosh_test): Likewise.
	(cpow_test_data): Likewise.
	(cpow_test): Likewise.
	(cproj_test_data): Likewise.
	(cproj_test): Likewise.
	(creal_test_data): Likewise.
	(creal_test): Likewise.
	(csin_test_data): Likewise.
	(csin_test): Likewise.
	(csinh_test_data): Likewise.
	(csinh_test): Likewise.
	(csqrt_test_data): Likewise.
	(csqrt_test): Likewise.
	(ctan_test_data): Likewise.
	(ctan_test): Likewise.
	(ctanh_test_data): Likewise.
	(ctanh_test): Likewise.
	(erf_test_data): Likewise.
	(erf_test): Likewise.
	(erfc_test_data): Likewise.
	(erfc_test): Likewise.
	(exp_test_data): Likewise.
	(exp_test): Likewise.
	(exp10_test_data): Likewise.
	(exp10_test): Likewise.
	(pow10_test): Likewise.
	(exp2_test_data): Likewise.
	(exp2_test): Likewise.
	(expm1_test_data): Likewise.
	(expm1_test): Likewise.
	(fabs_test_data): Likewise.
	(fabs_test): Likewise.
	(fdim_test_data): Likewise.
	(fdim_test): Likewise.
	(floor_test_data): Likewise.
	(floor_test): Likewise.
	(fma_test_data): Likewise.
	(fma_test): Likewise.
	(fmax_test_data): Likewise.
	(fmax_test): Likewise.
	(fmaxmag_test_data): Likewise.
	(fmaxmag_test): Likewise.
	(fmin_test_data): Likewise.
	(fmin_test): Likewise.
	(fminmag_test_data): Likewise.
	(fminmag_test): Likewise.
	(fmod_test_data): Likewise.
	(fmod_test): Likewise.
	(fpclassify_test_data): Likewise.
	(fpclassify_test): Likewise.
	(frexp_test_data): Likewise.
	(frexp_test): Likewise.
	(fromfp_test_data): Likewise.
	(fromfp_test): Likewise.
	(fromfpx_test_data): Likewise.
	(fromfpx_test): Likewise.
	(getpayload_test_data): Likewise.
	(getpayload_test): Likewise.
	(hypot_test_data): Likewise.
	(hypot_test): Likewise.
	(ilogb_test_data): Likewise.
	(ilogb_test): Likewise.
	(iscanonical_test_data): Likewise.
	(iscanonical_test): Likewise.
	(iseqsig_test_data): Likewise.
	(iseqsig_test): Likewise.
	(isfinite_test_data): Likewise.
	(isfinite_test): Likewise.
	(finite_test): Likewise.
	(isgreater_test_data): Likewise.
	(isgreater_test): Likewise.
	(isgreaterequal_test_data): Likewise.
	(isgreaterequal_test): Likewise.
	(isinf_test_data): Likewise.
	(isinf_test): Likewise.
	(isless_test_data): Likewise.
	(isless_test): Likewise.
	(islessequal_test_data): Likewise.
	(islessequal_test): Likewise.
	(islessgreater_test_data): Likewise.
	(islessgreater_test): Likewise.
	(isnan_test_data): Likewise.
	(isnan_test): Likewise.
	(isnormal_test_data): Likewise.
	(isnormal_test): Likewise.
	(issignaling_test_data): Likewise.
	(issignaling_test): Likewise.
	(issubnormal_test_data): Likewise.
	(issubnormal_test): Likewise.
	(isunordered_test_data): Likewise.
	(isunordered_test): Likewise.
	(iszero_test_data): Likewise.
	(iszero_test): Likewise.
	(j0_test_data): Likewise.
	(j0_test): Likewise.
	(j1_test_data): Likewise.
	(j1_test): Likewise.
	(jn_test_data): Likewise.
	(jn_test): Likewise.
	(lgamma_test_data): Likewise.
	(lgamma_test): Likewise.
	(gamma_test): Likewise.
	(llogb_test_data): Likewise.
	(llogb_test): Likewise.
	(lrint_test_data): Likewise.
	(lrint_test): Likewise.
	(llrint_test_data): Likewise.
	(llrint_test): Likewise.
	(log_test_data): Likewise.
	(log_test): Likewise.
	(log10_test_data): Likewise.
	(log10_test): Likewise.
	(log1p_test_data): Likewise.
	(log1p_test): Likewise.
	(log2_test_data): Likewise.
	(log2_test): Likewise.
	(logb_test_data): Likewise.
	(logb_test): Likewise.
	(lround_test_data): Likewise.
	(lround_test): Likewise.
	(llround_test_data): Likewise.
	(llround_test): Likewise.
	(modf_test_data): Likewise.
	(modf_test): Likewise.
	(nearbyint_test_data): Likewise.
	(nearbyint_test): Likewise.
	(nextafter_test_data): Likewise.
	(nextafter_test): Likewise.
	(nextup_test_data): Likewise.
	(nextup_test): Likewise.
	(nextdown_test_data): Likewise.
	(nextdown_test): Likewise.
	(nexttoward_test_data): Likewise.
	(nexttoward_test): Likewise.
	(pow_test_data): Likewise.
	(pow_test): Likewise.
	(remainder_test_data): Likewise.
	(remainder_test): Likewise.
	(drem_test): Likewise.
	(remquo_test_data): Likewise.
	(remquo_test): Likewise.
	(rint_test_data): Likewise.
	(rint_test): Likewise.
	(round_test_data): Likewise.
	(round_test): Likewise.
	(roundeven_test_data): Likewise.
	(roundeven_test): Likewise.
	(scalb_test_data): Likewise.
	(scalb_test): Likewise.
	(scalbn_test_data): Likewise.
	(scalbn_test): Likewise.
	(ldexp_test): Likewise.
	(scalbln_test_data): Likewise.
	(scalbln_test): Likewise.
	(setpayload_test_data): Likewise.
	(setpayload_test): Likewise.
	(setpayloadsig_test_data): Likewise.
	(setpayloadsig_test): Likewise.
	(signbit_test_data): Likewise.
	(signbit_test): Likewise.
	(sin_test_data): Likewise.
	(sin_test): Likewise.
	(sincos_test_data): Likewise.
	(sincos_test): Likewise.
	(sinh_test_data): Likewise.
	(sinh_test): Likewise.
	(sqrt_test_data): Likewise.
	(sqrt_test): Likewise.
	(tan_test_data): Likewise.
	(tan_test): Likewise.
	(tanh_test_data): Likewise.
	(tanh_test): Likewise.
	(tgamma_test_data): Likewise.
	(tgamma_test): Likewise.
	(totalorder_test_data): Likewise.
	(totalorder_test): Likewise.
	(totalordermag_test_data): Likewise.
	(totalordermag_test): Likewise.
	(trunc_test_data): Likewise.
	(trunc_test): Likewise.
	(ufromfp_test_data): Likewise.
	(ufromfp_test): Likewise.
	(ufromfpx_test_data): Likewise.
	(ufromfpx_test): Likewise.
	(y0_test_data): Likewise.
	(y0_test): Likewise.
	(y1_test_data): Likewise.
	(y1_test): Likewise.
	(yn_test_data): Likewise.
	(yn_test): Likewise.
	(significand_test_data): Likewise.
	(significand_test): Likewise.
	* math/Makefile (auto-libm-test-out-files): Remove variable.
	(libm-test-funcs-noauto): New variable.
	(libm-test-funcs-all): Likewise.
	(libm-test-c-auto): Likewise.
	(libm-test-c-noauto): Likewise.
	(libm-tests-generated): Add $(libm-test-c-auto) and
	$(libm-test-c-noauto).
	(generated): Do not add auto-libm-test-out.
	(libm-test-c-auto-obj): New variable.
	(libm-test-c-noauto-obj): Likewise.
	($(objpfx)libm-test.c): Do not generate or use auto-libm-test-out.
	($(libm-test-c-noauto-obj)): New static pattern rule.
	($(libm-test-c-auto-obj)): Likewise.
	(libm-test-incs): New variable.
	($(objpfx)libm-have-vector-test.h): Depend on $(libm-test-incs)
	and pass it to gen-libm-have-vector-test.sh.
	* math/gen-libm-have-vector-test.sh: Expect list of .inc files to
	be passed on command line.
	* math/libm-test-acos.inc: New file.  Content from
	math/libm-test.inc.
	* math/libm-test-acosh.inc: Likewise.
	* math/libm-test-asin.inc: Likewise.
	* math/libm-test-asinh.inc: Likewise.
	* math/libm-test-atan.inc: Likewise.
	* math/libm-test-atan2.inc: Likewise.
	* math/libm-test-atanh.inc: Likewise.
	* math/libm-test-cabs.inc: Likewise.
	* math/libm-test-cacos.inc: Likewise.
	* math/libm-test-cacosh.inc: Likewise.
	* math/libm-test-canonicalize.inc: Likewise.
	* math/libm-test-carg.inc: Likewise.
	* math/libm-test-casin.inc: Likewise.
	* math/libm-test-casinh.inc: Likewise.
	* math/libm-test-catan.inc: Likewise.
	* math/libm-test-catanh.inc: Likewise.
	* math/libm-test-cbrt.inc: Likewise.
	* math/libm-test-ccos.inc: Likewise.
	* math/libm-test-ccosh.inc: Likewise.
	* math/libm-test-ceil.inc: Likewise.
	* math/libm-test-cexp.inc: Likewise.
	* math/libm-test-cimag.inc: Likewise.
	* math/libm-test-clog.inc: Likewise.
	* math/libm-test-clog10.inc: Likewise.
	* math/libm-test-conj.inc: Likewise.
	* math/libm-test-copysign.inc: Likewise.
	* math/libm-test-cos.inc: Likewise.
	* math/libm-test-cosh.inc: Likewise.
	* math/libm-test-cpow.inc: Likewise.
	* math/libm-test-cproj.inc: Likewise.
	* math/libm-test-creal.inc: Likewise.
	* math/libm-test-csin.inc: Likewise.
	* math/libm-test-csinh.inc: Likewise.
	* math/libm-test-csqrt.inc: Likewise.
	* math/libm-test-ctan.inc: Likewise.
	* math/libm-test-ctanh.inc: Likewise.
	* math/libm-test-erf.inc: Likewise.
	* math/libm-test-erfc.inc: Likewise.
	* math/libm-test-exp.inc: Likewise.
	* math/libm-test-exp10.inc: Likewise.
	* math/libm-test-exp2.inc: Likewise.
	* math/libm-test-expm1.inc: Likewise.
	* math/libm-test-fabs.inc: Likewise.
	* math/libm-test-fdim.inc: Likewise.
	* math/libm-test-floor.inc: Likewise.
	* math/libm-test-fma.inc: Likewise.
	* math/libm-test-fmax.inc: Likewise.
	* math/libm-test-fmaxmag.inc: Likewise.
	* math/libm-test-fmin.inc: Likewise.
	* math/libm-test-fminmag.inc: Likewise.
	* math/libm-test-fmod.inc: Likewise.
	* math/libm-test-fpclassify.inc: Likewise.
	* math/libm-test-frexp.inc: Likewise.
	* math/libm-test-fromfp.inc: Likewise.
	* math/libm-test-fromfpx.inc: Likewise.
	* math/libm-test-getpayload.inc: Likewise.
	* math/libm-test-hypot.inc: Likewise.
	* math/libm-test-ilogb.inc: Likewise.
	* math/libm-test-iscanonical.inc: Likewise.
	* math/libm-test-iseqsig.inc: Likewise.
	* math/libm-test-isfinite.inc: Likewise.
	* math/libm-test-isgreater.inc: Likewise.
	* math/libm-test-isgreaterequal.inc: Likewise.
	* math/libm-test-isinf.inc: Likewise.
	* math/libm-test-isless.inc: Likewise.
	* math/libm-test-islessequal.inc: Likewise.
	* math/libm-test-islessgreater.inc: Likewise.
	* math/libm-test-isnan.inc: Likewise.
	* math/libm-test-isnormal.inc: Likewise.
	* math/libm-test-issignaling.inc: Likewise.
	* math/libm-test-issubnormal.inc: Likewise.
	* math/libm-test-isunordered.inc: Likewise.
	* math/libm-test-iszero.inc: Likewise.
	* math/libm-test-j0.inc: Likewise.
	* math/libm-test-j1.inc: Likewise.
	* math/libm-test-jn.inc: Likewise.
	* math/libm-test-lgamma.inc: Likewise.
	* math/libm-test-llogb.inc: Likewise.
	* math/libm-test-llrint.inc: Likewise.
	* math/libm-test-llround.inc: Likewise.
	* math/libm-test-log.inc: Likewise.
	* math/libm-test-log10.inc: Likewise.
	* math/libm-test-log1p.inc: Likewise.
	* math/libm-test-log2.inc: Likewise.
	* math/libm-test-logb.inc: Likewise.
	* math/libm-test-lrint.inc: Likewise.
	* math/libm-test-lround.inc: Likewise.
	* math/libm-test-modf.inc: Likewise.
	* math/libm-test-nearbyint.inc: Likewise.
	* math/libm-test-nextafter.inc: Likewise.
	* math/libm-test-nextdown.inc: Likewise.
	* math/libm-test-nexttoward.inc: Likewise.
	* math/libm-test-nextup.inc: Likewise.
	* math/libm-test-pow.inc: Likewise.
	* math/libm-test-remainder.inc: Likewise.
	* math/libm-test-remquo.inc: Likewise.
	* math/libm-test-rint.inc: Likewise.
	* math/libm-test-round.inc: Likewise.
	* math/libm-test-roundeven.inc: Likewise.
	* math/libm-test-scalb.inc: Likewise.
	* math/libm-test-scalbln.inc: Likewise.
	* math/libm-test-scalbn.inc: Likewise.
	* math/libm-test-setpayload.inc: Likewise.
	* math/libm-test-setpayloadsig.inc: Likewise.
	* math/libm-test-signbit.inc: Likewise.
	* math/libm-test-significand.inc: Likewise.
	* math/libm-test-sin.inc: Likewise.
	* math/libm-test-sincos.inc: Likewise.
	* math/libm-test-sinh.inc: Likewise.
	* math/libm-test-sqrt.inc: Likewise.
	* math/libm-test-tan.inc: Likewise.
	* math/libm-test-tanh.inc: Likewise.
	* math/libm-test-tgamma.inc: Likewise.
	* math/libm-test-totalorder.inc: Likewise.
	* math/libm-test-totalordermag.inc: Likewise.
	* math/libm-test-trunc.inc: Likewise.
	* math/libm-test-ufromfp.inc: Likewise.
	* math/libm-test-ufromfpx.inc: Likewise.
	* math/libm-test-y0.inc: Likewise.
	* math/libm-test-y1.inc: Likewise.
	* math/libm-test-yn.inc: Likewise.
	* math/README.libm-test: Update.

diff --git a/math/Makefile b/math/Makefile
index d65e597..9edea26 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -207,8 +207,6 @@ tests += $(libm-tests)
 libm-vec-test-wrappers = $(addsuffix -wrappers, $(libm-vec-tests))
 test-extras += $(libm-vec-test-wrappers)
 extra-test-objs += $(addsuffix .o, $(libm-vec-test-wrappers))
-libm-tests-generated = libm-test-ulps.h libm-have-vector-test.h libm-test.c
-generated += $(libm-tests-generated) auto-libm-test-out
 
 ulps-file = $(firstword $(wildcard $(sysdirs:%=%/libm-test-ulps)))
 
@@ -221,17 +219,44 @@ libm-test-funcs-auto = acos acosh asin asinh atan atan2 atanh cabs carg cbrt \
 		       csqrt ctan ctanh erf erfc exp exp10 exp2 expm1 fma \
 		       hypot j0 j1 jn lgamma log log10 log1p log2 pow sin \
 		       sincos sinh sqrt tan tanh tgamma y0 y1 yn
-auto-libm-test-out-files = $(addprefix auto-libm-test-out-,\
-				       $(libm-test-funcs-auto))
+libm-test-funcs-noauto = cacos cacosh canonicalize casin casinh catan catanh \
+			 ceil cimag conj copysign cproj creal fabs fdim floor \
+			 fmax fmaxmag fmin fminmag fmod fpclassify frexp \
+			 fromfp fromfpx getpayload ilogb iscanonical iseqsig \
+			 isfinite isgreater isgreaterequal isinf isless \
+			 islessequal islessgreater isnan isnormal issignaling \
+			 issubnormal isunordered iszero llogb llrint llround \
+			 logb lrint lround modf nearbyint nextafter nextdown \
+			 nexttoward nextup remainder remquo rint round \
+			 roundeven scalb scalbln scalbn setpayload \
+			 setpayloadsig signbit significand totalorder \
+			 totalordermag trunc ufromfp ufromfpx
+libm-test-funcs-all = $(libm-test-funcs-auto) $(libm-test-funcs-noauto)
+libm-test-c-auto = $(foreach f,$(libm-test-funcs-auto),libm-test-$(f).c)
+libm-test-c-noauto = $(foreach f,$(libm-test-funcs-noauto),libm-test-$(f).c)
+libm-tests-generated = libm-test-ulps.h libm-have-vector-test.h libm-test.c \
+		       $(libm-test-c-auto) $(libm-test-c-noauto)
+generated += $(libm-tests-generated)
+
+libm-test-c-auto-obj = $(addprefix $(objpfx),$(libm-test-c-auto))
+libm-test-c-noauto-obj = $(addprefix $(objpfx),$(libm-test-c-noauto))
+
+$(objpfx)libm-test.c $(libm-test-c-noauto-obj): $(objpfx)libm-test%.c: \
+						libm-test%.inc gen-libm-test.pl
+	$(make-target-directory)
+	$(PERL) gen-libm-test.pl -c $< -a /dev/null -C $@
 
-$(objpfx)libm-test.c: libm-test.inc gen-libm-test.pl $(auto-libm-test-out-files)
+$(libm-test-c-auto-obj): $(objpfx)libm-test%.c: libm-test%.inc \
+						gen-libm-test.pl \
+						auto-libm-test-out%
 	$(make-target-directory)
-	cat $(auto-libm-test-out-files) > $(objpfx)auto-libm-test-out
-	$(PERL) gen-libm-test.pl -c $< -a $(objpfx)auto-libm-test-out -C $@
+	$(PERL) gen-libm-test.pl -c $< -a auto-libm-test-out$* -C $@
+
+libm-test-incs = $(foreach f,$(libm-test-funcs-all),libm-test-$(f).inc)
 
-$(objpfx)libm-have-vector-test.h: libm-test.inc gen-libm-have-vector-test.sh
+$(objpfx)libm-have-vector-test.h: $(libm-test-incs) gen-libm-have-vector-test.sh
 	$(make-target-directory)
-	$(SHELL) gen-libm-have-vector-test.sh > $@
+	$(SHELL) gen-libm-have-vector-test.sh $(sort $(libm-test-incs)) > $@
 endif
 
 libm-test-fast-math-cflags = -fno-builtin -D__FAST_MATH__ -DTEST_FAST_MATH
diff --git a/math/README.libm-test b/math/README.libm-test
index d30cba9..442a47a 100644
--- a/math/README.libm-test
+++ b/math/README.libm-test
@@ -21,17 +21,17 @@ NaNs and minus zero), some more or less random values are tested.
 Files that are part of libm-test
 ================================
 
-The main file is "libm-test.inc".  It is independent of the target
-platform and the specific real floating type and format and contains
-placeholder test "templates" for math functions defined in libm.
-The file, along with generated files named "auto-libm-test-out-<func>",
-is preprocessed by the Perl script "gen-libm-test.pl" to expand
-the templates and produce a set of test cases for each math function
-that are specific to the target platform but still independent of
-the real floating type.  The results of the processing are
-"libm-test.c" and a file "libm-test-ulps.h" with platform specific
-deltas by which the actual math function results may deviate from
-the expected results and still be considered correct.
+The main files are "libm-test-<func>.inc".  They are independent of
+the target platform and the specific real floating type and format and
+contain placeholder test "templates" for math functions defined in
+libm.  These files, along with generated files named
+"auto-libm-test-out-<func>", are preprocessed by the Perl script
+"gen-libm-test.pl" to expand the templates and produce a set of test
+cases for each math function that are specific to the target platform
+but still independent of the real floating type.  The results of the
+processing are "libm-test-<func>.c" and a file "libm-test-ulps.h" with
+platform specific deltas by which the actual math function results may
+deviate from the expected results and still be considered correct.
 
 The test drivers "test-double.c", "test-float.c", and "test-ldouble.c"
 test the normal double, float and long double implementation of libm.
@@ -104,8 +104,8 @@ idouble: 6
 The keywords are float, ifloat, double, idouble, ldouble and ildouble
 (the prefix i stands for inline).
 
-Adding tests to libm-test.inc
-=============================
+Adding tests to libm-test-<func>.inc
+====================================
 
 The tests are evaluated by a set of special test macros.  The macros
 start with "TEST_" followed by a specification the input values, an
diff --git a/math/gen-libm-have-vector-test.sh b/math/gen-libm-have-vector-test.sh
index fe2b381..7d9d6d7 100644
--- a/math/gen-libm-have-vector-test.sh
+++ b/math/gen-libm-have-vector-test.sh
@@ -33,19 +33,19 @@ print_defs()
   echo
 }
 
-for func in $(cat libm-test.inc | grep ALL_RM_TEST | grep -v define | grep -v RUN_TEST_LOOP_ff_f | grep -v RUN_TEST_LOOP_fFF_11 | sed -r "s/.*\(//; s/,.*//" ); do
+for func in $(cat $@ | grep ALL_RM_TEST | grep -v define | grep -v RUN_TEST_LOOP_ff_f | grep -v RUN_TEST_LOOP_fFF_11 | sed -r "s/.*\(//; s/,.*//" ); do
   print_defs ${func}
   print_defs ${func}f
   print_defs ${func}l
 done
 
-for func in $(cat libm-test.inc | grep ALL_RM_TEST | grep RUN_TEST_LOOP_ff_f | sed -r "s/.*\(//; s/,.*//" ); do
+for func in $(cat $@ | grep ALL_RM_TEST | grep RUN_TEST_LOOP_ff_f | sed -r "s/.*\(//; s/,.*//" ); do
   print_defs ${func} "_ff"
   print_defs ${func}f "_ff"
   print_defs ${func}l "_ff"
 done
 
-for func in $(cat libm-test.inc | grep ALL_RM_TEST | grep RUN_TEST_LOOP_fFF_11 | sed -r "s/.*\(//; s/,.*//" ); do
+for func in $(cat $@ | grep ALL_RM_TEST | grep RUN_TEST_LOOP_fFF_11 | sed -r "s/.*\(//; s/,.*//" ); do
   print_defs ${func} "_fFF"
   print_defs ${func}f "_fFF"
   print_defs ${func}l "_fFF"
diff --git a/math/libm-test.inc b/math/libm-test.inc
index a73f226..ee5c0fe 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
[removals of code omitted]
+#include "libm-test-acos.c"
+#include "libm-test-acosh.c"
+#include "libm-test-asin.c"
+#include "libm-test-asinh.c"
+#include "libm-test-atan.c"
+#include "libm-test-atan2.c"
+#include "libm-test-atanh.c"
+#include "libm-test-cabs.c"
+#include "libm-test-cacos.c"
+#include "libm-test-cacosh.c"
+#include "libm-test-canonicalize.c"
+#include "libm-test-carg.c"
+#include "libm-test-casin.c"
+#include "libm-test-casinh.c"
+#include "libm-test-catan.c"
+#include "libm-test-catanh.c"
+#include "libm-test-cbrt.c"
+#include "libm-test-ccos.c"
+#include "libm-test-ccosh.c"
+#include "libm-test-ceil.c"
+#include "libm-test-cexp.c"
+#include "libm-test-cimag.c"
+#include "libm-test-clog.c"
+#include "libm-test-clog10.c"
+#include "libm-test-conj.c"
+#include "libm-test-copysign.c"
+#include "libm-test-cos.c"
+#include "libm-test-cosh.c"
+#include "libm-test-cpow.c"
+#include "libm-test-cproj.c"
+#include "libm-test-creal.c"
+#include "libm-test-csin.c"
+#include "libm-test-csinh.c"
+#include "libm-test-csqrt.c"
+#include "libm-test-ctan.c"
+#include "libm-test-ctanh.c"
+#include "libm-test-erf.c"
+#include "libm-test-erfc.c"
+#include "libm-test-exp.c"
+#include "libm-test-exp10.c"
+#include "libm-test-exp2.c"
+#include "libm-test-expm1.c"
+#include "libm-test-fabs.c"
+#include "libm-test-fdim.c"
+#include "libm-test-floor.c"
+#include "libm-test-fma.c"
+#include "libm-test-fmax.c"
+#include "libm-test-fmaxmag.c"
+#include "libm-test-fmin.c"
+#include "libm-test-fminmag.c"
+#include "libm-test-fmod.c"
+#include "libm-test-fpclassify.c"
+#include "libm-test-frexp.c"
+#include "libm-test-fromfp.c"
+#include "libm-test-fromfpx.c"
+#include "libm-test-getpayload.c"
+#include "libm-test-hypot.c"
+#include "libm-test-ilogb.c"
+#include "libm-test-iscanonical.c"
+#include "libm-test-iseqsig.c"
+#include "libm-test-isfinite.c"
+#include "libm-test-isgreater.c"
+#include "libm-test-isgreaterequal.c"
+#include "libm-test-isinf.c"
+#include "libm-test-isless.c"
+#include "libm-test-islessequal.c"
+#include "libm-test-islessgreater.c"
+#include "libm-test-isnan.c"
+#include "libm-test-isnormal.c"
+#include "libm-test-issignaling.c"
+#include "libm-test-issubnormal.c"
+#include "libm-test-isunordered.c"
+#include "libm-test-iszero.c"
+#include "libm-test-j0.c"
+#include "libm-test-j1.c"
+#include "libm-test-jn.c"
+#include "libm-test-lgamma.c"
+#include "libm-test-llogb.c"
+#include "libm-test-llrint.c"
+#include "libm-test-llround.c"
+#include "libm-test-log.c"
+#include "libm-test-log10.c"
+#include "libm-test-log1p.c"
+#include "libm-test-log2.c"
+#include "libm-test-logb.c"
+#include "libm-test-lrint.c"
+#include "libm-test-lround.c"
+#include "libm-test-modf.c"
+#include "libm-test-nearbyint.c"
+#include "libm-test-nextafter.c"
+#include "libm-test-nextdown.c"
+#include "libm-test-nexttoward.c"
+#include "libm-test-nextup.c"
+#include "libm-test-pow.c"
+#include "libm-test-remainder.c"
+#include "libm-test-remquo.c"
+#include "libm-test-rint.c"
+#include "libm-test-round.c"
+#include "libm-test-roundeven.c"
+#include "libm-test-scalb.c"
+#include "libm-test-scalbln.c"
+#include "libm-test-scalbn.c"
+#include "libm-test-setpayload.c"
+#include "libm-test-setpayloadsig.c"
+#include "libm-test-signbit.c"
+#include "libm-test-significand.c"
+#include "libm-test-sin.c"
+#include "libm-test-sincos.c"
+#include "libm-test-sinh.c"
+#include "libm-test-sqrt.c"
+#include "libm-test-tan.c"
+#include "libm-test-tanh.c"
+#include "libm-test-tgamma.c"
+#include "libm-test-totalorder.c"
+#include "libm-test-totalordermag.c"
+#include "libm-test-trunc.c"
+#include "libm-test-ufromfp.c"
+#include "libm-test-ufromfpx.c"
+#include "libm-test-y0.c"
+#include "libm-test-y1.c"
+#include "libm-test-yn.c"
 
 static void
 do_test (void)

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]