aboutsummaryrefslogtreecommitdiff
path: root/pl/math/Dir.mk
diff options
context:
space:
mode:
Diffstat (limited to 'pl/math/Dir.mk')
-rw-r--r--pl/math/Dir.mk15
1 files changed, 13 insertions, 2 deletions
diff --git a/pl/math/Dir.mk b/pl/math/Dir.mk
index 0cae7be..b27bcee 100644
--- a/pl/math/Dir.mk
+++ b/pl/math/Dir.mk
@@ -147,18 +147,24 @@ ulp-input-dir=$(B)/test/inputs
math-lib-lims = $(patsubst $(PLM)/%,$(ulp-input-dir)/%.ulp,$(basename $(math-lib-srcs)))
math-lib-aliases = $(patsubst $(PLM)/%,$(ulp-input-dir)/%.alias,$(basename $(math-lib-srcs)))
+math-lib-fenvs = $(patsubst $(PLM)/%,$(ulp-input-dir)/%.fenv,$(basename $(math-lib-srcs)))
$(math-lib-lims): CFLAGS_PL += -I$(PLM) -I$(PLM)/include $(math-cflags)
$(math-lib-aliases): CFLAGS_PL += -I$(PLM) -I$(PLM)/include $(math-cflags)
+$(math-lib-fenvs): CFLAGS_PL += -I$(PLM) -I$(PLM)/include $(math-cflags)
$(ulp-input-dir)/%.ulp: $(PLM)/%.c
mkdir -p $(@D)
- $(CC) -I$(PLM)/test $(CFLAGS_PL) $< -o - -E | { grep "PL_TEST_ULP" || true; } > $@
+ $(CC) -I$(PLM)/test $(CFLAGS_PL) $< -o - -E | { grep -o "PL_TEST_ULP [^ ]* [^ ]*" || true; } > $@
$(ulp-input-dir)/%.alias: $(PLM)/%.c
mkdir -p $(@D)
$(CC) -I$(PLM)/test $(CFLAGS_PL) $< -o - -E | { grep "PL_TEST_ALIAS" || true; } | sed "s/_x / /g"> $@
+$(ulp-input-dir)/%.fenv: $(PLM)/%.c
+ mkdir -p $(@D)
+ $(CC) -I$(PLM)/test $(CFLAGS_PL) $< -o - -E | { grep -o "PL_TEST_EXPECT_FENV_ENABLED [^ ]*" || true; } > $@
+
ulp-lims := $(ulp-input-dir)/limits
$(ulp-lims): $(math-lib-lims)
cat $^ | sed "s/PL_TEST_ULP //g;s/^ *//g" > $@
@@ -167,12 +173,17 @@ ulp-aliases := $(ulp-input-dir)/aliases
$(ulp-aliases): $(math-lib-aliases)
cat $^ | sed "s/PL_TEST_ALIAS //g;s/^ *//g" > $@
-check-pl/math-ulp: $(math-tools) $(ulp-lims) $(ulp-aliases)
+fenv-exps := $(ulp-input-dir)/fenv
+$(fenv-exps): $(math-lib-fenvs)
+ cat $^ | sed "s/PL_TEST_EXPECT_FENV_ENABLED //g;s/^ *//g" > $@
+
+check-pl/math-ulp: $(math-tools) $(ulp-lims) $(ulp-aliases) $(fenv-exps)
WANT_ERRNO=$(WANT_ERRNO) \
WANT_SVE_MATH=$(WANT_SVE_MATH) \
ULPFLAGS="$(math-ulpflags)" \
LIMITS=../../../$(ulp-lims) \
ALIASES=../../../$(ulp-aliases) \
+ FENV=../../../$(fenv-exps) \
build/pl/bin/runulp.sh $(EMULATOR)
check-pl/math: check-pl/math-test check-pl/math-rtest check-pl/math-ulp