aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@redhat.com>2025-03-25 09:40:20 +0000
committerMaciej W. Rozycki <macro@redhat.com>2025-03-25 09:40:20 +0000
commit4bea073069e9e457258d082786297a867593d05b (patch)
tree2434369f51822bb36058768e6236efd79ba510bb /sysdeps
parent771cda3c9cbbfc33a1a337d964e7749b245dec38 (diff)
downloadglibc-4bea073069e9e457258d082786297a867593d05b.tar.xz
glibc-4bea073069e9e457258d082786297a867593d05b.zip
stdio-common: Add scanf long double data for IBM 128-bit format
Add Makefile infrastructure and IBM 128-bit 'long double' real input for targets switching between the IEEE 754 binary128 and IBM 128-bit formats with '-mabi=ieeelongdouble' and '-mabi=ibmlongdouble'. Reuse IEEE 754 binary128 input data but with modified output file names so as not to clash with the names used for IBM 128-bit format tests made with common rules for the 'long double' data type. Keep input data disabled and referring to BZ #12701 for entries that are are currently incorrectly accepted as valid data, such as '0e', '0e+', '0x', '0x8p', '0x0p-', etc. Reviewed-by: Joseph Myers <josmyers@redhat.com>
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/ieee754/ldbl-128ibm-compat/Makefile49
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/Makefile10
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/tst-scanf-format-ldouble-a.input682
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/tst-scanf-format-ldouble-aa.input682
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/tst-scanf-format-ldouble-e.input558
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/tst-scanf-format-ldouble-ee.input558
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/tst-scanf-format-ldouble-f.input496
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/tst-scanf-format-ldouble-ff.input496
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/tst-scanf-format-ldouble-g.input682
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/tst-scanf-format-ldouble-gg.input682
10 files changed, 4895 insertions, 0 deletions
diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
index 910c0198eb..ef3df9dbfb 100644
--- a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
+++ b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
@@ -78,6 +78,55 @@ CFLAGS-vfwprintf-internal.c += -mfloat128 -mabi=ibmlongdouble
CFLAGS-vfscanf-internal.c += -mfloat128 -mabi=ibmlongdouble
CFLAGS-vfwscanf-internal.c += -mfloat128 -mabi=ibmlongdouble
+ifeq ($(subdir),stdio-common)
+# We already have the long double conversion defined with our common rules
+# for the IBM format, so define these special rules to build and run extra
+# executables for the IEEE binary128 format, reusing the same sources and
+# inputs.
+define tst-scanf-format-128ibm-compat-tests
+test-srcs += \
+ tst-scanf-format-$(1)-ldouble-128ibm-compat \
+ # test-srcs
+
+$$(objpfx)tst-scanf-format-$(1)-ldouble-128ibm-compat.o: \
+ tst-scanf-format-$(1)-ldouble.c $$(before-compile)
+ $$(compile-command.c)
+$$(objpfx)tst-scanf-format-$(1)-ldouble-128ibm-compat: $$(libm)
+endef
+$(foreach p,$(xscanf-funcs), \
+ $(eval $(call tst-scanf-format-128ibm-compat-tests,$(p))))
+
+ifeq ($(run-built-tests),yes)
+define tst-scanf-format-128ibm-compat-rule
+tests-special += \
+ $$(objpfx)tst-scanf-format-$(1)-ldouble-128ibm-compat-$(2).out \
+ # tests-special
+
+$$(objpfx)tst-scanf-format-$(1)-ldouble-128ibm-compat-$(2).out: \
+ ../sysdeps/ieee754/ldbl-128/tst-scanf-format-ldouble-$(2).input \
+ $$(objpfx)tst-scanf-format-$(1)-ldouble-128ibm-compat
+ $$(make-tst-scanf-format-out) > $$@ < $$<; \
+ $$(evaluate-test)
+
+ifeq (yes,$(build-shared))
+ifneq ($(PERL),no)
+tests-special += \
+ $$(objpfx)tst-scanf-format-$(1)-ldouble-128ibm-compat-$(2)-mem.out \
+ # tests-special
+
+generated += \
+ $$(objpfx)tst-scanf-format-$(1)-ldouble-128ibm-compat-$(2)-mem.out \
+ $$(objpfx)tst-scanf-format-$(1)-ldouble-128ibm-compat-$(2).mtrace \
+ # generated
+endif
+endif
+endef
+$(foreach f,$(fmts-xscanf-real), \
+ $(foreach p,$(xscanf-funcs), \
+ $(eval $(call tst-scanf-format-128ibm-compat-rule,$(p),$(f)))))
+endif # $(run-built-tests) == yes
+endif # $(subdir) == stdio-common
+
# Basic tests for the implementation of long double with IEEE binary128
# format and for the related redirections in installed headers.
tests-internal += test-printf-ieee128 test-printf-ibm128
diff --git a/sysdeps/ieee754/ldbl-128ibm/Makefile b/sysdeps/ieee754/ldbl-128ibm/Makefile
index c38d4f6ac2..4dfe44032e 100644
--- a/sysdeps/ieee754/ldbl-128ibm/Makefile
+++ b/sysdeps/ieee754/ldbl-128ibm/Makefile
@@ -17,6 +17,16 @@ ifeq ($(subdir),math)
tests += $(ldbl-tests)
endif
+ifeq ($(subdir),stdio-common)
+fmt-xscanf-real-convs += ldouble
+
+# Use the IBM format for long double scanf format tests.
+$(foreach suf,$(all-object-suffixes), \
+ $(foreach p,$(xscanf-funcs), \
+ $(objpfx)tst-scanf-format-$(p)-ldouble$(suf))): \
+ sysdep-CFLAGS += $(type-ldouble-CFLAGS)
+endif
+
# Long double files may need extra CFLAGS.
ldbl-128ibm-routines = s_nexttoward s_nexttowardf \
$(type-ldouble-routines) \
diff --git a/sysdeps/ieee754/ldbl-128ibm/tst-scanf-format-ldouble-a.input b/sysdeps/ieee754/ldbl-128ibm/tst-scanf-format-ldouble-a.input
new file mode 100644
index 0000000000..a7377d5557
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-128ibm/tst-scanf-format-ldouble-a.input
@@ -0,0 +1,682 @@
+%La::0:-1:
+%*La::0:-1:
+%La:-infinity:1:9:-inf:
+%*La:-infinity:0:9:
+%La:-0xf.ffffffffffffbffffffffffffcp+1020:1:37:-0x1.fffffffffffff7ffffffffffff8p1023:
+%*La:-0xf.ffffffffffffbffffffffffffcp+1020:0:37:
+%La:-0x7.ffffffffffffdffffffffffffep1021:1:36:-0x1.fffffffffffff7ffffffffffff8p1023:
+%*La:-0x7.ffffffffffffdffffffffffffep1021:0:36:
+%La:-0x2.3456789abcdef0123456789abcp+123:1:36:-0x1.1a2b3c4d5e6f78091a2b3c4d5ep124:
+%*La:-0x2.3456789abcdef0123456789abcp+123:0:36:
+%La:-0x2.3456789abcdef0123456789abcp0123:1:36:-0x1.1a2b3c4d5e6f78091a2b3c4d5ep124:
+%*La:-0x2.3456789abcdef0123456789abcp0123:0:36:
+%La:-0x8p-972:1:9:-0x1p-969:
+%*La:-0x8p-972:0:9:
+%La:-0x0p+0:1:7:-0x0:
+%*La:-0x0p+0:0:7:
+%La:-0x0p0:1:6:-0x0:
+%*La:-0x0p0:0:6:
+%La:-nan(09A_Zaz):1:13:-nan:
+%*La:-nan(09A_Zaz):0:13:
+%La:-nan():1:6:-nan:
+%*La:-nan():0:6:
+%La:nan():1:5:nan:
+%*La:nan():0:5:
+%La:nan(09A_Zaz):1:12:nan:
+%*La:nan(09A_Zaz):0:12:
+%La:0x0p0:1:5:0x0:
+%*La:0x0p0:0:5:
+%La:0x0p+0:1:6:0x0:
+%*La:0x0p+0:0:6:
+%La:0x8p-972:1:8:0x1p-969:
+%*La:0x8p-972:0:8:
+%La:0x2.3456789abcdef0123456789abcp0123:1:35:0x1.1a2b3c4d5e6f78091a2b3c4d5ep124:
+%*La:0x2.3456789abcdef0123456789abcp0123:0:35:
+%La:0x2.3456789abcdef0123456789abcp+123:1:35:0x1.1a2b3c4d5e6f78091a2b3c4d5ep124:
+%*La:0x2.3456789abcdef0123456789abcp+123:0:35:
+%La:0x7.ffffffffffffdffffffffffffep1021:1:35:0x1.fffffffffffff7ffffffffffff8p1023:
+%*La:0x7.ffffffffffffdffffffffffffep1021:0:35:
+%La:0xf.ffffffffffffbffffffffffffcp+1020:1:36:0x1.fffffffffffff7ffffffffffff8p1023:
+%*La:0xf.ffffffffffffbffffffffffffcp+1020:0:36:
+%La:infinity:1:8:inf:
+%*La:infinity:0:8:
+%La:+nan():1:6:nan:
+%*La:+nan():0:6:
+%La:+nan(09A_Zaz):1:13:nan:
+%*La:+nan(09A_Zaz):0:13:
+%La:+0x0p0:1:6:0x0:
+%*La:+0x0p0:0:6:
+%La:+0x0p+0:1:7:0x0:
+%*La:+0x0p+0:0:7:
+%La:+0x8p-972:1:9:0x1p-969:
+%*La:+0x8p-972:0:9:
+%La:+0x2.3456789abcdef0123456789abcp0123:1:36:0x1.1a2b3c4d5e6f78091a2b3c4d5ep124:
+%*La:+0x2.3456789abcdef0123456789abcp0123:0:36:
+%La:+0x2.3456789abcdef0123456789abcp+123:1:36:0x1.1a2b3c4d5e6f78091a2b3c4d5ep124:
+%*La:+0x2.3456789abcdef0123456789abcp+123:0:36:
+%La:+0x7.ffffffffffffdffffffffffffep1021:1:36:0x1.fffffffffffff7ffffffffffff8p1023:
+%*La:+0x7.ffffffffffffdffffffffffffep1021:0:36:
+%La:+0xf.ffffffffffffbffffffffffffcp+1020:1:37:0x1.fffffffffffff7ffffffffffff8p1023:
+%*La:+0xf.ffffffffffffbffffffffffffcp+1020:0:37:
+%La:+infinity:1:9:inf:
+%*La:+infinity:0:9:
+%1La::0:-1:
+%*1La::0:-1:
+%1La:-infinity:0:-1:
+%*1La:-infinity:0:-1:
+%1La:-0xf.ffffffffffffbffffffffffffcp+1020:0:-1:
+%*1La:-0xf.ffffffffffffbffffffffffffcp+1020:0:-1:
+%1La:-0x7.ffffffffffffdffffffffffffep1021:0:-1:
+%*1La:-0x7.ffffffffffffdffffffffffffep1021:0:-1:
+%1La:-0x2.3456789abcdef0123456789abcp+123:0:-1:
+%*1La:-0x2.3456789abcdef0123456789abcp+123:0:-1:
+%1La:-0x2.3456789abcdef0123456789abcp0123:0:-1:
+%*1La:-0x2.3456789abcdef0123456789abcp0123:0:-1:
+%1La:-0x8p-972:0:-1:
+%*1La:-0x8p-972:0:-1:
+%1La:-0x0p+0:0:-1:
+%*1La:-0x0p+0:0:-1:
+%1La:-0x0p0:0:-1:
+%*1La:-0x0p0:0:-1:
+%1La:-nan(09A_Zaz):0:-1:
+%*1La:-nan(09A_Zaz):0:-1:
+%1La:-nan():0:-1:
+%*1La:-nan():0:-1:
+%1La:nan():0:-1:
+%*1La:nan():0:-1:
+%1La:nan(09A_Zaz):0:-1:
+%*1La:nan(09A_Zaz):0:-1:
+%1La:0x0p0:1:1:0x0:
+%*1La:0x0p0:0:1:
+%1La:0x0p+0:1:1:0x0:
+%*1La:0x0p+0:0:1:
+%1La:0x8p-972:1:1:0x0:
+%*1La:0x8p-972:0:1:
+%1La:0x2.3456789abcdef0123456789abcp0123:1:1:0x0:
+%*1La:0x2.3456789abcdef0123456789abcp0123:0:1:
+%1La:0x2.3456789abcdef0123456789abcp+123:1:1:0x0:
+%*1La:0x2.3456789abcdef0123456789abcp+123:0:1:
+%1La:0x7.ffffffffffffdffffffffffffep1021:1:1:0x0:
+%*1La:0x7.ffffffffffffdffffffffffffep1021:0:1:
+%1La:0xf.ffffffffffffbffffffffffffcp+1020:1:1:0x0:
+%*1La:0xf.ffffffffffffbffffffffffffcp+1020:0:1:
+%1La:infinity:0:-1:
+%*1La:infinity:0:-1:
+%1La:+nan():0:-1:
+%*1La:+nan():0:-1:
+%1La:+nan(09A_Zaz):0:-1:
+%*1La:+nan(09A_Zaz):0:-1:
+%1La:+0x0p0:0:-1:
+%*1La:+0x0p0:0:-1:
+%1La:+0x0p+0:0:-1:
+%*1La:+0x0p+0:0:-1:
+%1La:+0x8p-972:0:-1:
+%*1La:+0x8p-972:0:-1:
+%1La:+0x2.3456789abcdef0123456789abcp0123:0:-1:
+%*1La:+0x2.3456789abcdef0123456789abcp0123:0:-1:
+%1La:+0x2.3456789abcdef0123456789abcp+123:0:-1:
+%*1La:+0x2.3456789abcdef0123456789abcp+123:0:-1:
+%1La:+0x7.ffffffffffffdffffffffffffep1021:0:-1:
+%*1La:+0x7.ffffffffffffdffffffffffffep1021:0:-1:
+%1La:+0xf.ffffffffffffbffffffffffffcp+1020:0:-1:
+%*1La:+0xf.ffffffffffffbffffffffffffcp+1020:0:-1:
+%1La:+infinity:0:-1:
+%*1La:+infinity:0:-1:
+%2La::0:-1:
+%*2La::0:-1:
+%2La:-infinity:0:-1:
+%*2La:-infinity:0:-1:
+%2La:-0xf.ffffffffffffbffffffffffffcp+1020:1:2:-0x0:
+%*2La:-0xf.ffffffffffffbffffffffffffcp+1020:0:2:
+%2La:-0x7.ffffffffffffdffffffffffffep1021:1:2:-0x0:
+%*2La:-0x7.ffffffffffffdffffffffffffep1021:0:2:
+%2La:-0x2.3456789abcdef0123456789abcp+123:1:2:-0x0:
+%*2La:-0x2.3456789abcdef0123456789abcp+123:0:2:
+%2La:-0x2.3456789abcdef0123456789abcp0123:1:2:-0x0:
+%*2La:-0x2.3456789abcdef0123456789abcp0123:0:2:
+%2La:-0x8p-972:1:2:-0x0:
+%*2La:-0x8p-972:0:2:
+%2La:-0x0p+0:1:2:-0x0:
+%*2La:-0x0p+0:0:2:
+%2La:-0x0p0:1:2:-0x0:
+%*2La:-0x0p0:0:2:
+%2La:-nan(09A_Zaz):0:-1:
+%*2La:-nan(09A_Zaz):0:-1:
+%2La:-nan():0:-1:
+%*2La:-nan():0:-1:
+%2La:nan():0:-1:
+%*2La:nan():0:-1:
+%2La:nan(09A_Zaz):0:-1:
+%*2La:nan(09A_Zaz):0:-1:
+# BZ12701 %2La:0x0p0:0:-1:
+# BZ12701 %*2La:0x0p0:0:-1:
+# BZ12701 %2La:0x0p+0:0:-1:
+# BZ12701 %*2La:0x0p+0:0:-1:
+# BZ12701 %2La:0x8p-972:0:-1:
+# BZ12701 %*2La:0x8p-972:0:-1:
+# BZ12701 %2La:0x2.3456789abcdef0123456789abcp0123:0:-1:
+# BZ12701 %*2La:0x2.3456789abcdef0123456789abcp0123:0:-1:
+# BZ12701 %2La:0x2.3456789abcdef0123456789abcp+123:0:-1:
+# BZ12701 %*2La:0x2.3456789abcdef0123456789abcp+123:0:-1:
+# BZ12701 %2La:0x7.ffffffffffffdffffffffffffep1021:0:-1:
+# BZ12701 %*2La:0x7.ffffffffffffdffffffffffffep1021:0:-1:
+# BZ12701 %2La:0xf.ffffffffffffbffffffffffffcp+1020:0:-1:
+# BZ12701 %*2La:0xf.ffffffffffffbffffffffffffcp+1020:0:-1:
+%2La:infinity:0:-1:
+%*2La:infinity:0:-1:
+%2La:+nan():0:-1:
+%*2La:+nan():0:-1:
+%2La:+nan(09A_Zaz):0:-1:
+%*2La:+nan(09A_Zaz):0:-1:
+%2La:+0x0p0:1:2:0x0:
+%*2La:+0x0p0:0:2:
+%2La:+0x0p+0:1:2:0x0:
+%*2La:+0x0p+0:0:2:
+%2La:+0x8p-972:1:2:0x0:
+%*2La:+0x8p-972:0:2:
+%2La:+0x2.3456789abcdef0123456789abcp0123:1:2:0x0:
+%*2La:+0x2.3456789abcdef0123456789abcp0123:0:2:
+%2La:+0x2.3456789abcdef0123456789abcp+123:1:2:0x0:
+%*2La:+0x2.3456789abcdef0123456789abcp+123:0:2:
+%2La:+0x7.ffffffffffffdffffffffffffep1021:1:2:0x0:
+%*2La:+0x7.ffffffffffffdffffffffffffep1021:0:2:
+%2La:+0xf.ffffffffffffbffffffffffffcp+1020:1:2:0x0:
+%*2La:+0xf.ffffffffffffbffffffffffffcp+1020:0:2:
+%2La:+infinity:0:-1:
+%*2La:+infinity:0:-1:
+%3La::0:-1:
+%*3La::0:-1:
+%3La:-infinity:0:-1:
+%*3La:-infinity:0:-1:
+# BZ12701 %3La:-0xf.ffffffffffffbffffffffffffcp+1020:0:-1:
+# BZ12701 %*3La:-0xf.ffffffffffffbffffffffffffcp+1020:0:-1:
+# BZ12701 %3La:-0x7.ffffffffffffdffffffffffffep1021:0:-1:
+# BZ12701 %*3La:-0x7.ffffffffffffdffffffffffffep1021:0:-1:
+# BZ12701 %3La:-0x2.3456789abcdef0123456789abcp+123:0:-1:
+# BZ12701 %*3La:-0x2.3456789abcdef0123456789abcp+123:0:-1:
+# BZ12701 %3La:-0x2.3456789abcdef0123456789abcp0123:0:-1:
+# BZ12701 %*3La:-0x2.3456789abcdef0123456789abcp0123:0:-1:
+# BZ12701 %3La:-0x8p-972:0:-1:
+# BZ12701 %*3La:-0x8p-972:0:-1:
+# BZ12701 %3La:-0x0p+0:0:-1:
+# BZ12701 %*3La:-0x0p+0:0:-1:
+# BZ12701 %3La:-0x0p0:0:-1:
+# BZ12701 %*3La:-0x0p0:0:-1:
+%3La:-nan(09A_Zaz):0:-1:
+%*3La:-nan(09A_Zaz):0:-1:
+%3La:-nan():0:-1:
+%*3La:-nan():0:-1:
+%3La:nan():1:3:nan:
+%*3La:nan():0:3:
+%3La:nan(09A_Zaz):1:3:nan:
+%*3La:nan(09A_Zaz):0:3:
+%3La:0x0p0:1:3:0x0:
+%*3La:0x0p0:0:3:
+%3La:0x0p+0:1:3:0x0:
+%*3La:0x0p+0:0:3:
+%3La:0x8p-972:1:3:0x1p3:
+%*3La:0x8p-972:0:3:
+%3La:0x2.3456789abcdef0123456789abcp0123:1:3:0x1p1:
+%*3La:0x2.3456789abcdef0123456789abcp0123:0:3:
+%3La:0x2.3456789abcdef0123456789abcp+123:1:3:0x1p1:
+%*3La:0x2.3456789abcdef0123456789abcp+123:0:3:
+%3La:0x7.ffffffffffffdffffffffffffep1021:1:3:0x1.cp2:
+%*3La:0x7.ffffffffffffdffffffffffffep1021:0:3:
+%3La:0xf.ffffffffffffbffffffffffffcp+1020:1:3:0x1.ep3:
+%*3La:0xf.ffffffffffffbffffffffffffcp+1020:0:3:
+%3La:infinity:1:3:inf:
+%*3La:infinity:0:3:
+%3La:+nan():0:-1:
+%*3La:+nan():0:-1:
+%3La:+nan(09A_Zaz):0:-1:
+%*3La:+nan(09A_Zaz):0:-1:
+# BZ12701 %3La:+0x0p0:0:-1:
+# BZ12701 %*3La:+0x0p0:0:-1:
+# BZ12701 %3La:+0x0p+0:0:-1:
+# BZ12701 %*3La:+0x0p+0:0:-1:
+# BZ12701 %3La:+0x8p-972:0:-1:
+# BZ12701 %*3La:+0x8p-972:0:-1:
+# BZ12701 %3La:+0x2.3456789abcdef0123456789abcp0123:0:-1:
+# BZ12701 %*3La:+0x2.3456789abcdef0123456789abcp0123:0:-1:
+# BZ12701 %3La:+0x2.3456789abcdef0123456789abcp+123:0:-1:
+# BZ12701 %*3La:+0x2.3456789abcdef0123456789abcp+123:0:-1:
+# BZ12701 %3La:+0x7.ffffffffffffdffffffffffffep1021:0:-1:
+# BZ12701 %*3La:+0x7.ffffffffffffdffffffffffffep1021:0:-1:
+# BZ12701 %3La:+0xf.ffffffffffffbffffffffffffcp+1020:0:-1:
+# BZ12701 %*3La:+0xf.ffffffffffffbffffffffffffcp+1020:0:-1:
+%3La:+infinity:0:-1:
+%*3La:+infinity:0:-1:
+%4La::0:-1:
+%*4La::0:-1:
+%4La:-infinity:1:4:-inf:
+%*4La:-infinity:0:4:
+%4La:-0xf.ffffffffffffbffffffffffffcp+1020:1:4:-0x1.ep3:
+%*4La:-0xf.ffffffffffffbffffffffffffcp+1020:0:4:
+%4La:-0x7.ffffffffffffdffffffffffffep1021:1:4:-0x1.cp2:
+%*4La:-0x7.ffffffffffffdffffffffffffep1021:0:4:
+%4La:-0x2.3456789abcdef0123456789abcp+123:1:4:-0x1p1:
+%*4La:-0x2.3456789abcdef0123456789abcp+123:0:4:
+%4La:-0x2.3456789abcdef0123456789abcp0123:1:4:-0x1p1:
+%*4La:-0x2.3456789abcdef0123456789abcp0123:0:4:
+%4La:-0x8p-972:1:4:-0x1p3:
+%*4La:-0x8p-972:0:4:
+%4La:-0x0p+0:1:4:-0x0:
+%*4La:-0x0p+0:0:4:
+%4La:-0x0p0:1:4:-0x0:
+%*4La:-0x0p0:0:4:
+%4La:-nan(09A_Zaz):1:4:-nan:
+%*4La:-nan(09A_Zaz):0:4:
+%4La:-nan():1:4:-nan:
+%*4La:-nan():0:4:
+%4La:nan():0:-1:
+%*4La:nan():0:-1:
+%4La:nan(09A_Zaz):0:-1:
+%*4La:nan(09A_Zaz):0:-1:
+# BZ12701 %4La:0x0p0:0:-1:
+# BZ12701 %*4La:0x0p0:0:-1:
+# BZ12701 %4La:0x0p+0:0:-1:
+# BZ12701 %*4La:0x0p+0:0:-1:
+# BZ12701 %4La:0x8p-972:0:-1:
+# BZ12701 %*4La:0x8p-972:0:-1:
+%4La:0x2.3456789abcdef0123456789abcp0123:1:4:0x1p1:
+%*4La:0x2.3456789abcdef0123456789abcp0123:0:4:
+%4La:0x2.3456789abcdef0123456789abcp+123:1:4:0x1p1:
+%*4La:0x2.3456789abcdef0123456789abcp+123:0:4:
+%4La:0x7.ffffffffffffdffffffffffffep1021:1:4:0x1.cp2:
+%*4La:0x7.ffffffffffffdffffffffffffep1021:0:4:
+%4La:0xf.ffffffffffffbffffffffffffcp+1020:1:4:0x1.ep3:
+%*4La:0xf.ffffffffffffbffffffffffffcp+1020:0:4:
+%4La:infinity:0:-1:
+%*4La:infinity:0:-1:
+%4La:+nan():1:4:nan:
+%*4La:+nan():0:4:
+%4La:+nan(09A_Zaz):1:4:nan:
+%*4La:+nan(09A_Zaz):0:4:
+%4La:+0x0p0:1:4:0x0:
+%*4La:+0x0p0:0:4:
+%4La:+0x0p+0:1:4:0x0:
+%*4La:+0x0p+0:0:4:
+%4La:+0x8p-972:1:4:0x1p3:
+%*4La:+0x8p-972:0:4:
+%4La:+0x2.3456789abcdef0123456789abcp0123:1:4:0x1p1:
+%*4La:+0x2.3456789abcdef0123456789abcp0123:0:4:
+%4La:+0x2.3456789abcdef0123456789abcp+123:1:4:0x1p1:
+%*4La:+0x2.3456789abcdef0123456789abcp+123:0:4:
+%4La:+0x7.ffffffffffffdffffffffffffep1021:1:4:0x1.cp2:
+%*4La:+0x7.ffffffffffffdffffffffffffep1021:0:4:
+%4La:+0xf.ffffffffffffbffffffffffffcp+1020:1:4:0x1.ep3:
+%*4La:+0xf.ffffffffffffbffffffffffffcp+1020:0:4:
+%4La:+infinity:1:4:inf:
+%*4La:+infinity:0:4:
+%5La::0:-1:
+%*5La::0:-1:
+%5La:-infinity:0:-1:
+%*5La:-infinity:0:-1:
+%5La:-0xf.ffffffffffffbffffffffffffcp+1020:1:5:-0x1.ep3:
+%*5La:-0xf.ffffffffffffbffffffffffffcp+1020:0:5:
+%5La:-0x7.ffffffffffffdffffffffffffep1021:1:5:-0x1.cp2:
+%*5La:-0x7.ffffffffffffdffffffffffffep1021:0:5:
+%5La:-0x2.3456789abcdef0123456789abcp+123:1:5:-0x1p1:
+%*5La:-0x2.3456789abcdef0123456789abcp+123:0:5:
+%5La:-0x2.3456789abcdef0123456789abcp0123:1:5:-0x1p1:
+%*5La:-0x2.3456789abcdef0123456789abcp0123:0:5:
+# BZ12701 %5La:-0x8p-972:0:-1:
+# BZ12701 %*5La:-0x8p-972:0:-1:
+# BZ12701 %5La:-0x0p+0:0:-1:
+# BZ12701 %*5La:-0x0p+0:0:-1:
+# BZ12701 %5La:-0x0p0:0:-1:
+# BZ12701 %*5La:-0x0p0:0:-1:
+%5La:-nan(09A_Zaz):0:-1:
+%*5La:-nan(09A_Zaz):0:-1:
+%5La:-nan():0:-1:
+%*5La:-nan():0:-1:
+%5La:nan():1:5:nan:
+%*5La:nan():0:5:
+%5La:nan(09A_Zaz):0:-1:
+%*5La:nan(09A_Zaz):0:-1:
+%5La:0x0p0:1:5:0x0:
+%*5La:0x0p0:0:5:
+# BZ12701 %5La:0x0p+0:0:-1:
+# BZ12701 %*5La:0x0p+0:0:-1:
+# BZ12701 %5La:0x8p-972:0:-1:
+# BZ12701 %*5La:0x8p-972:0:-1:
+%5La:0x2.3456789abcdef0123456789abcp0123:1:5:0x1.18p1:
+%*5La:0x2.3456789abcdef0123456789abcp0123:0:5:
+%5La:0x2.3456789abcdef0123456789abcp+123:1:5:0x1.18p1:
+%*5La:0x2.3456789abcdef0123456789abcp+123:0:5:
+%5La:0x7.ffffffffffffdffffffffffffep1021:1:5:0x1.fcp2:
+%*5La:0x7.ffffffffffffdffffffffffffep1021:0:5:
+%5La:0xf.ffffffffffffbffffffffffffcp+1020:1:5:0x1.fep3:
+%*5La:0xf.ffffffffffffbffffffffffffcp+1020:0:5:
+%5La:infinity:0:-1:
+%*5La:infinity:0:-1:
+%5La:+nan():0:-1:
+%*5La:+nan():0:-1:
+%5La:+nan(09A_Zaz):0:-1:
+%*5La:+nan(09A_Zaz):0:-1:
+# BZ12701 %5La:+0x0p0:0:-1:
+# BZ12701 %*5La:+0x0p0:0:-1:
+# BZ12701 %5La:+0x0p+0:0:-1:
+# BZ12701 %*5La:+0x0p+0:0:-1:
+# BZ12701 %5La:+0x8p-972:0:-1:
+# BZ12701 %*5La:+0x8p-972:0:-1:
+%5La:+0x2.3456789abcdef0123456789abcp0123:1:5:0x1p1:
+%*5La:+0x2.3456789abcdef0123456789abcp0123:0:5:
+%5La:+0x2.3456789abcdef0123456789abcp+123:1:5:0x1p1:
+%*5La:+0x2.3456789abcdef0123456789abcp+123:0:5:
+%5La:+0x7.ffffffffffffdffffffffffffep1021:1:5:0x1.cp2:
+%*5La:+0x7.ffffffffffffdffffffffffffep1021:0:5:
+%5La:+0xf.ffffffffffffbffffffffffffcp+1020:1:5:0x1.ep3:
+%*5La:+0xf.ffffffffffffbffffffffffffcp+1020:0:5:
+%5La:+infinity:0:-1:
+%*5La:+infinity:0:-1:
+%6La::0:-1:
+%*6La::0:-1:
+%6La:-infinity:0:-1:
+%*6La:-infinity:0:-1:
+%6La:-0xf.ffffffffffffbffffffffffffcp+1020:1:6:-0x1.fep3:
+%*6La:-0xf.ffffffffffffbffffffffffffcp+1020:0:6:
+%6La:-0x7.ffffffffffffdffffffffffffep1021:1:6:-0x1.fcp2:
+%*6La:-0x7.ffffffffffffdffffffffffffep1021:0:6:
+%6La:-0x2.3456789abcdef0123456789abcp+123:1:6:-0x1.18p1:
+%*6La:-0x2.3456789abcdef0123456789abcp+123:0:6:
+%6La:-0x2.3456789abcdef0123456789abcp0123:1:6:-0x1.18p1:
+%*6La:-0x2.3456789abcdef0123456789abcp0123:0:6:
+# BZ12701 %6La:-0x8p-972:0:-1:
+# BZ12701 %*6La:-0x8p-972:0:-1:
+# BZ12701 %6La:-0x0p+0:0:-1:
+# BZ12701 %*6La:-0x0p+0:0:-1:
+%6La:-0x0p0:1:6:-0x0:
+%*6La:-0x0p0:0:6:
+%6La:-nan(09A_Zaz):0:-1:
+%*6La:-nan(09A_Zaz):0:-1:
+%6La:-nan():1:6:-nan:
+%*6La:-nan():0:6:
+%6La:nan():1:5:nan:
+%*6La:nan():0:5:
+%6La:nan(09A_Zaz):0:-1:
+%*6La:nan(09A_Zaz):0:-1:
+%6La:0x0p0:1:5:0x0:
+%*6La:0x0p0:0:5:
+%6La:0x0p+0:1:6:0x0:
+%*6La:0x0p+0:0:6:
+%6La:0x8p-972:1:6:0x1p-6:
+%*6La:0x8p-972:0:6:
+%6La:0x2.3456789abcdef0123456789abcp0123:1:6:0x1.1ap1:
+%*6La:0x2.3456789abcdef0123456789abcp0123:0:6:
+%6La:0x2.3456789abcdef0123456789abcp+123:1:6:0x1.1ap1:
+%*6La:0x2.3456789abcdef0123456789abcp+123:0:6:
+%6La:0x7.ffffffffffffdffffffffffffep1021:1:6:0x1.ffcp2:
+%*6La:0x7.ffffffffffffdffffffffffffep1021:0:6:
+%6La:0xf.ffffffffffffbffffffffffffcp+1020:1:6:0x1.ffep3:
+%*6La:0xf.ffffffffffffbffffffffffffcp+1020:0:6:
+%6La:infinity:0:-1:
+%*6La:infinity:0:-1:
+%6La:+nan():1:6:nan:
+%*6La:+nan():0:6:
+%6La:+nan(09A_Zaz):0:-1:
+%*6La:+nan(09A_Zaz):0:-1:
+%6La:+0x0p0:1:6:0x0:
+%*6La:+0x0p0:0:6:
+# BZ12701 %6La:+0x0p+0:0:-1:
+# BZ12701 %*6La:+0x0p+0:0:-1:
+# BZ12701 %6La:+0x8p-972:0:-1:
+# BZ12701 %*6La:+0x8p-972:0:-1:
+%6La:+0x2.3456789abcdef0123456789abcp0123:1:6:0x1.18p1:
+%*6La:+0x2.3456789abcdef0123456789abcp0123:0:6:
+%6La:+0x2.3456789abcdef0123456789abcp+123:1:6:0x1.18p1:
+%*6La:+0x2.3456789abcdef0123456789abcp+123:0:6:
+%6La:+0x7.ffffffffffffdffffffffffffep1021:1:6:0x1.fcp2:
+%*6La:+0x7.ffffffffffffdffffffffffffep1021:0:6:
+%6La:+0xf.ffffffffffffbffffffffffffcp+1020:1:6:0x1.fep3:
+%*6La:+0xf.ffffffffffffbffffffffffffcp+1020:0:6:
+%6La:+infinity:0:-1:
+%*6La:+infinity:0:-1:
+%33La::0:-1:
+%*33La::0:-1:
+%33La:-infinity:1:9:-inf:
+%*33La:-infinity:0:9:
+# BZ12701 %33La:-0xf.ffffffffffffbffffffffffffcp+1020:0:-1:
+# BZ12701 %*33La:-0xf.ffffffffffffbffffffffffffcp+1020:0:-1:
+%33La:-0x7.ffffffffffffdffffffffffffep1021:1:33:-0x1.fffffffffffff7ffffffffffff8p3:
+%*33La:-0x7.ffffffffffffdffffffffffffep1021:0:33:
+# BZ12701 %33La:-0x2.3456789abcdef0123456789abcp+123:0:-1:
+# BZ12701 %*33La:-0x2.3456789abcdef0123456789abcp+123:0:-1:
+%33La:-0x2.3456789abcdef0123456789abcp0123:1:33:-0x1.1a2b3c4d5e6f78091a2b3c4d5ep1:
+%*33La:-0x2.3456789abcdef0123456789abcp0123:0:33:
+%33La:-0x8p-972:1:9:-0x1p-969:
+%*33La:-0x8p-972:0:9:
+%33La:-0x0p+0:1:7:-0x0:
+%*33La:-0x0p+0:0:7:
+%33La:-0x0p0:1:6:-0x0:
+%*33La:-0x0p0:0:6:
+%33La:-nan(09A_Zaz):1:13:-nan:
+%*33La:-nan(09A_Zaz):0:13:
+%33La:-nan():1:6:-nan:
+%*33La:-nan():0:6:
+%33La:nan():1:5:nan:
+%*33La:nan():0:5:
+%33La:nan(09A_Zaz):1:12:nan:
+%*33La:nan(09A_Zaz):0:12:
+%33La:0x0p0:1:5:0x0:
+%*33La:0x0p0:0:5:
+%33La:0x0p+0:1:6:0x0:
+%*33La:0x0p+0:0:6:
+%33La:0x8p-972:1:8:0x1p-969:
+%*33La:0x8p-972:0:8:
+%33La:0x2.3456789abcdef0123456789abcp0123:1:33:0x1.1a2b3c4d5e6f78091a2b3c4d5ep2:
+%*33La:0x2.3456789abcdef0123456789abcp0123:0:33:
+%33La:0x2.3456789abcdef0123456789abcp+123:1:33:0x1.1a2b3c4d5e6f78091a2b3c4d5ep2:
+%*33La:0x2.3456789abcdef0123456789abcp+123:0:33:
+%33La:0x7.ffffffffffffdffffffffffffep1021:1:33:0x1.fffffffffffff7ffffffffffff8p12:
+%*33La:0x7.ffffffffffffdffffffffffffep1021:0:33:
+%33La:0xf.ffffffffffffbffffffffffffcp+1020:1:33:0x1.fffffffffffff7ffffffffffff8p4:
+%*33La:0xf.ffffffffffffbffffffffffffcp+1020:0:33:
+%33La:infinity:1:8:inf:
+%*33La:infinity:0:8:
+%33La:+nan():1:6:nan:
+%*33La:+nan():0:6:
+%33La:+nan(09A_Zaz):1:13:nan:
+%*33La:+nan(09A_Zaz):0:13:
+%33La:+0x0p0:1:6:0x0:
+%*33La:+0x0p0:0:6:
+%33La:+0x0p+0:1:7:0x0:
+%*33La:+0x0p+0:0:7:
+%33La:+0x8p-972:1:9:0x1p-969:
+%*33La:+0x8p-972:0:9:
+%33La:+0x2.3456789abcdef0123456789abcp0123:1:33:0x1.1a2b3c4d5e6f78091a2b3c4d5ep1:
+%*33La:+0x2.3456789abcdef0123456789abcp0123:0:33:
+# BZ12701 %33La:+0x2.3456789abcdef0123456789abcp+123:0:-1:
+# BZ12701 %*33La:+0x2.3456789abcdef0123456789abcp+123:0:-1:
+%33La:+0x7.ffffffffffffdffffffffffffep1021:1:33:0x1.fffffffffffff7ffffffffffff8p3: