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
commita2bacea239c1780b20a1b23a9c3c836ef61c6172 (patch)
treef0b8bacfc73eafe303320ebcc3d41be77132d99e /sysdeps
parentd7584e4d367ccb281ecf68980995e9b5ca0aff46 (diff)
downloadglibc-a2bacea239c1780b20a1b23a9c3c836ef61c6172.tar.xz
glibc-a2bacea239c1780b20a1b23a9c3c836ef61c6172.zip
stdio-common: Add scanf integer data for LP64 targets
Add Makefile infrastructure and `int' and `long' integer input data, signed and unsigned, for LP64 targets. While the size of `int' data is the same between ILP32 and LP64 targets, resulting scanf output is different between them for out of range input data and while ISO C and POSIX both say that the behavior is undefined if the result of the conversion cannot be represented we want to keep track of our output to prevent inadvertent changes. Hence the use of distinct `int' integer input data between ILP32 and LP64 targets. Keep input data disabled and referring to BZ #12701 for entries that are are currently incorrectly accepted as valid data, such as '0b' or '0x'. Reviewed-by: Joseph Myers <josmyers@redhat.com>
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/wordsize-64/Makefile5
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-int-d.input266
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-int-i.input1526
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-long-d.input266
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-long-i.input1526
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-uint-b.input644
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-uint-o.input434
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-uint-u.input224
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-uint-x.input714
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-uint-xx.input714
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-ulong-b.input644
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-ulong-o.input434
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-ulong-u.input224
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-ulong-x.input742
-rw-r--r--sysdeps/wordsize-64/tst-scanf-format-ulong-xx.input742
15 files changed, 9105 insertions, 0 deletions
diff --git a/sysdeps/wordsize-64/Makefile b/sysdeps/wordsize-64/Makefile
index db7764f664..6a84d0f863 100644
--- a/sysdeps/wordsize-64/Makefile
+++ b/sysdeps/wordsize-64/Makefile
@@ -2,6 +2,11 @@ ifeq ($(subdir),misc)
tests += tst-writev
endif
+ifeq ($(subdir),stdio-common)
+fmt-xscanf-int-convs += int long
+fmt-xscanf-uint-convs += uint ulong
+endif
+
# strtol is aliased to stroll
CFLAGS-strtol.c += -fno-builtin-strtoll $(config-cflags-wno-ignored-attributes)
# strtoul is aliased to strtoull
diff --git a/sysdeps/wordsize-64/tst-scanf-format-int-d.input b/sysdeps/wordsize-64/tst-scanf-format-int-d.input
new file mode 100644
index 0000000000..d8c2b10af5
--- /dev/null
+++ b/sysdeps/wordsize-64/tst-scanf-format-int-d.input
@@ -0,0 +1,266 @@
+%d::0:-1:
+%*d::0:-1:
+%d:-2147484882:1:11:2147482414:
+%*d:-2147484882:0:11:
+%d:-2147483649:1:11:2147483647:
+%*d:-2147483649:0:11:
+%d:-2147483648:1:11:-2147483648:
+%*d:-2147483648:0:11:
+%d:-123:1:4:-123:
+%*d:-123:0:4:
+%d:-1:1:2:-1:
+%*d:-1:0:2:
+%d:-0:1:2:0:
+%*d:-0:0:2:
+%d:0:1:1:0:
+%*d:0:0:1:
+%d:1:1:1:1:
+%*d:1:0:1:
+%d:42:1:2:42:
+%*d:42:0:2:
+%d:2147483647:1:10:2147483647:
+%*d:2147483647:0:10:
+%d:2147483648:1:10:-2147483648:
+%*d:2147483648:0:10:
+%d:2147487889:1:10:-2147479407:
+%*d:2147487889:0:10:
+%d:+0:1:2:0:
+%*d:+0:0:2:
+%d:+1:1:2:1:
+%*d:+1:0:2:
+%d:+42:1:3:42:
+%*d:+42:0:3:
+%d:+2147483647:1:11:2147483647:
+%*d:+2147483647:0:11:
+%d:+2147483648:1:11:-2147483648:
+%*d:+2147483648:0:11:
+%d:+2147487889:1:11:-2147479407:
+%*d:+2147487889:0:11:
+%1d::0:-1:
+%*1d::0:-1:
+%1d:-2147484882:0:-1:
+%*1d:-2147484882:0:-1:
+%1d:-2147483649:0:-1:
+%*1d:-2147483649:0:-1:
+%1d:-2147483648:0:-1:
+%*1d:-2147483648:0:-1:
+%1d:-123:0:-1:
+%*1d:-123:0:-1:
+%1d:-1:0:-1:
+%*1d:-1:0:-1:
+%1d:-0:0:-1:
+%*1d:-0:0:-1:
+%1d:0:1:1:0:
+%*1d:0:0:1:
+%1d:1:1:1:1:
+%*1d:1:0:1:
+%1d:42:1:1:4:
+%*1d:42:0:1:
+%1d:2147483647:1:1:2:
+%*1d:2147483647:0:1:
+%1d:2147483648:1:1:2:
+%*1d:2147483648:0:1:
+%1d:2147487889:1:1:2:
+%*1d:2147487889:0:1:
+%1d:+0:0:-1:
+%*1d:+0:0:-1:
+%1d:+1:0:-1:
+%*1d:+1:0:-1:
+%1d:+42:0:-1:
+%*1d:+42:0:-1:
+%1d:+2147483647:0:-1:
+%*1d:+2147483647:0:-1:
+%1d:+2147483648:0:-1:
+%*1d:+2147483648:0:-1:
+%1d:+2147487889:0:-1:
+%*1d:+2147487889:0:-1:
+%2d::0:-1:
+%*2d::0:-1:
+%2d:-2147484882:1:2:-2:
+%*2d:-2147484882:0:2:
+%2d:-2147483649:1:2:-2:
+%*2d:-2147483649:0:2:
+%2d:-2147483648:1:2:-2:
+%*2d:-2147483648:0:2:
+%2d:-123:1:2:-1:
+%*2d:-123:0:2:
+%2d:-1:1:2:-1:
+%*2d:-1:0:2:
+%2d:-0:1:2:0:
+%*2d:-0:0:2:
+%2d:0:1:1:0:
+%*2d:0:0:1:
+%2d:1:1:1:1:
+%*2d:1:0:1:
+%2d:42:1:2:42:
+%*2d:42:0:2:
+%2d:2147483647:1:2:21:
+%*2d:2147483647:0:2:
+%2d:2147483648:1:2:21:
+%*2d:2147483648:0:2:
+%2d:2147487889:1:2:21:
+%*2d:2147487889:0:2:
+%2d:+0:1:2:0:
+%*2d:+0:0:2:
+%2d:+1:1:2:1:
+%*2d:+1:0:2:
+%2d:+42:1:2:4:
+%*2d:+42:0:2:
+%2d:+2147483647:1:2:2:
+%*2d:+2147483647:0:2:
+%2d:+2147483648:1:2:2:
+%*2d:+2147483648:0:2:
+%2d:+2147487889:1:2:2:
+%*2d:+2147487889:0:2:
+%8d::0:-1:
+%*8d::0:-1:
+%8d:-2147484882:1:8:-2147484:
+%*8d:-2147484882:0:8:
+%8d:-2147483649:1:8:-2147483:
+%*8d:-2147483649:0:8:
+%8d:-2147483648:1:8:-2147483:
+%*8d:-2147483648:0:8:
+%8d:-123:1:4:-123:
+%*8d:-123:0:4:
+%8d:-1:1:2:-1:
+%*8d:-1:0:2:
+%8d:-0:1:2:0:
+%*8d:-0:0:2:
+%8d:0:1:1:0:
+%*8d:0:0:1:
+%8d:1:1:1:1:
+%*8d:1:0:1:
+%8d:42:1:2:42:
+%*8d:42:0:2:
+%8d:2147483647:1:8:21474836:
+%*8d:2147483647:0:8:
+%8d:2147483648:1:8:21474836:
+%*8d:2147483648:0:8:
+%8d:2147487889:1:8:21474878:
+%*8d:2147487889:0:8:
+%8d:+0:1:2:0:
+%*8d:+0:0:2:
+%8d:+1:1:2:1:
+%*8d:+1:0:2:
+%8d:+42:1:3:42:
+%*8d:+42:0:3:
+%8d:+2147483647:1:8:2147483:
+%*8d:+2147483647:0:8:
+%8d:+2147483648:1:8:2147483:
+%*8d:+2147483648:0:8:
+%8d:+2147487889:1:8:2147487:
+%*8d:+2147487889:0:8:
+%15d::0:-1:
+%*15d::0:-1:
+%15d:-2147484882:1:11:2147482414:
+%*15d:-2147484882:0:11:
+%15d:-2147483649:1:11:2147483647:
+%*15d:-2147483649:0:11:
+%15d:-2147483648:1:11:-2147483648:
+%*15d:-2147483648:0:11:
+%15d:-123:1:4:-123:
+%*15d:-123:0:4:
+%15d:-1:1:2:-1:
+%*15d:-1:0:2:
+%15d:-0:1:2:0:
+%*15d:-0:0:2:
+%15d:0:1:1:0:
+%*15d:0:0:1:
+%15d:1:1:1:1:
+%*15d:1:0:1:
+%15d:42:1:2:42:
+%*15d:42:0:2:
+%15d:2147483647:1:10:2147483647:
+%*15d:2147483647:0:10:
+%15d:2147483648:1:10:-2147483648:
+%*15d:2147483648:0:10:
+%15d:2147487889:1:10:-2147479407:
+%*15d:2147487889:0:10:
+%15d:+0:1:2:0:
+%*15d:+0:0:2:
+%15d:+1:1:2:1:
+%*15d:+1:0:2:
+%15d:+42:1:3:42:
+%*15d:+42:0:3:
+%15d:+2147483647:1:11:2147483647:
+%*15d:+2147483647:0:11:
+%15d:+2147483648:1:11:-2147483648:
+%*15d:+2147483648:0:11:
+%15d:+2147487889:1:11:-2147479407:
+%*15d:+2147487889:0:11:
+%2d: :0:-1:
+%*2d: :0:-1:
+%2d: -2147484882:1:3:-2:
+%*2d: -2147484882:0:3:
+%2d: -2147483649:1:3:-2:
+%*2d: -2147483649:0:3:
+%2d: -2147483648:1:3:-2:
+%*2d: -2147483648:0:3:
+%2d: -123:1:3:-1:
+%*2d: -123:0:3:
+%2d: -1:1:3:-1:
+%*2d: -1:0:3:
+%2d: -0:1:3:0:
+%*2d: -0:0:3:
+%2d: 0:1:2:0:
+%*2d: 0:0:2:
+%2d: 1:1:2:1:
+%*2d: 1:0:2:
+%2d: 42:1:3:42:
+%*2d: 42:0:3:
+%2d: 2147483647:1:3:21:
+%*2d: 2147483647:0:3:
+%2d: 2147483648:1:3:21:
+%*2d: 2147483648:0:3:
+%2d: 2147487889:1:3:21:
+%*2d: 2147487889:0:3:
+%2d: +0:1:3:0:
+%*2d: +0:0:3:
+%2d: +1:1:3:1:
+%*2d: +1:0:3:
+%2d: +42:1:3:4:
+%*2d: +42:0:3:
+%2d: +2147483647:1:3:2:
+%*2d: +2147483647:0:3:
+%2d: +2147483648:1:3:2:
+%*2d: +2147483648:0:3:
+%2d: +2147487889:1:3:2:
+%*2d: +2147487889:0:3:
+%15d: :0:-1:
+%*15d: :0:-1:
+%15d: -2147484882:1:12:2147482414:
+%*15d: -2147484882:0:12:
+%15d: -2147483649:1:12:2147483647:
+%*15d: -2147483649:0:12:
+%15d: -2147483648:1:12:-2147483648:
+%*15d: -2147483648:0:12:
+%15d: -123:1:5:-123:
+%*15d: -123:0:5:
+%15d: -1:1:3:-1:
+%*15d: -1:0:3:
+%15d: -0:1:3:0:
+%*15d: -0:0:3:
+%15d: 0:1:2:0:
+%*15d: 0:0:2:
+%15d: 1:1:2:1:
+%*15d: 1:0:2:
+%15d: 42:1:3:42:
+%*15d: 42:0:3:
+%15d: 2147483647:1:11:2147483647:
+%*15d: 2147483647:0:11:
+%15d: 2147483648:1:11:-2147483648:
+%*15d: 2147483648:0:11:
+%15d: 2147487889:1:11:-2147479407:
+%*15d: 2147487889:0:11:
+%15d: +0:1:3:0:
+%*15d: +0:0:3:
+%15d: +1:1:3:1:
+%*15d: +1:0:3:
+%15d: +42:1:4:42:
+%*15d: +42:0:4:
+%15d: +2147483647:1:12:2147483647:
+%*15d: +2147483647:0:12:
+%15d: +2147483648:1:12:-2147483648:
+%*15d: +2147483648:0:12:
+%15d: +2147487889:1:12:-2147479407:
+%*15d: +2147487889:0:12:
diff --git a/sysdeps/wordsize-64/tst-scanf-format-int-i.input b/sysdeps/wordsize-64/tst-scanf-format-int-i.input
new file mode 100644
index 0000000000..8450d1aefc
--- /dev/null
+++ b/sysdeps/wordsize-64/tst-scanf-format-int-i.input
@@ -0,0 +1,1526 @@
+%i::0:-1:
+%*i::0:-1:
+%i:-2147484882:1:11:2147482414:
+%*i:-2147484882:0:11:
+%i:-0X800004d2:1:11:2147482414:
+%*i:-0X800004d2:0:11:
+%i:-0x800004D2:1:11:2147482414:
+%*i:-0x800004D2:0:11:
+%i:-020000002322:1:13:2147482414:
+%*i:-020000002322:0:13:
+%i:-0B10000000000000000000010011010010:1:35:2147482414:
+%*i:-0B10000000000000000000010011010010:0:35:
+%i:-0b10000000000000000000010011010010:1:35:2147482414:
+%*i:-0b10000000000000000000010011010010:0:35:
+%i:-2147483649:1:11:2147483647:
+%*i:-2147483649:0:11:
+%i:-0X80000001:1:11:2147483647:
+%*i:-0X80000001:0:11:
+%i:-0x80000001:1:11:2147483647:
+%*i:-0x80000001:0:11:
+%i:-020000000001:1:13:2147483647:
+%*i:-020000000001:0:13:
+%i:-0B10000000000000000000000000000001:1:35:2147483647:
+%*i:-0B10000000000000000000000000000001:0:35:
+%i:-0b10000000000000000000000000000001:1:35:2147483647:
+%*i:-0b10000000000000000000000000000001:0:35:
+%i:-2147483648:1:11:-2147483648:
+%*i:-2147483648:0:11:
+%i:-0X80000000:1:11:-2147483648:
+%*i:-0X80000000:0:11:
+%i:-0x80000000:1:11:-2147483648:
+%*i:-0x80000000:0:11:
+%i:-020000000000:1:13:-2147483648:
+%*i:-020000000000:0:13:
+%i:-0B10000000000000000000000000000000:1:35:-2147483648:
+%*i:-0B10000000000000000000000000000000:0:35:
+%i:-0b10000000000000000000000000000000:1:35:-2147483648:
+%*i:-0b10000000000000000000000000000000:0:35:
+%i:-123:1:4:-123:
+%*i:-123:0:4:
+%i:-0X7b:1:5:-123:
+%*i:-0X7b:0:5:
+%i:-0x7B:1:5:-123:
+%*i:-0x7B:0:5:
+%i:-0173:1:5:-123:
+%*i:-0173:0:5:
+%i:-0B1111011:1:10:-123:
+%*i:-0B1111011:0:10:
+%i:-0b1111011:1:10:-123:
+%*i:-0b1111011:0:10:
+%i:-1:1:2:-1:
+%*i:-1:0:2:
+%i:-0X1:1:4:-1:
+%*i:-0X1:0:4:
+%i:-0x1:1:4:-1:
+%*i:-0x1:0:4:
+%i:-01:1:3:-1:
+%*i:-01:0:3:
+%i:-0B1:1:4:-1:
+%*i:-0B1:0:4:
+%i:-0b1:1:4:-1:
+%*i:-0b1:0:4:
+%i:-0:1:2:0:
+%*i:-0:0:2:
+%i:-0X0:1:4:0:
+%*i:-0X0:0:4:
+%i:-0x0:1:4:0:
+%*i:-0x0:0:4:
+%i:-00:1:3:0:
+%*i:-00:0:3:
+%i:-0B0:1:4:0:
+%*i:-0B0:0:4:
+%i:-0b0:1:4:0:
+%*i:-0b0:0:4:
+%i:0:1:1:0:
+%*i:0:0:1:
+%i:0X0:1:3:0:
+%*i:0X0:0:3:
+%i:0x0:1:3:0:
+%*i:0x0:0:3:
+%i:00:1:2:0:
+%*i:00:0:2:
+%i:0B0:1:3:0:
+%*i:0B0:0:3:
+%i:0b0:1:3:0:
+%*i:0b0:0:3:
+%i:1:1:1:1:
+%*i:1:0:1:
+%i:0X1:1:3:1:
+%*i:0X1:0:3:
+%i:0x1:1:3:1:
+%*i:0x1:0:3:
+%i:01:1:2:1:
+%*i:01:0:2:
+%i:0B1:1:3:1:
+%*i:0B1:0:3:
+%i:0b1:1:3:1:
+%*i:0b1:0:3:
+%i:42:1:2:42:
+%*i:42:0:2:
+%i:0X2a:1:4:42:
+%*i:0X2a:0:4:
+%i:0x2A:1:4:42:
+%*i:0x2A:0:4:
+%i:052:1:3:42:
+%*i:052:0:3:
+%i:0B101010:1:8:42:
+%*i:0B101010:0:8:
+%i:0b101010:1:8:42:
+%*i:0b101010:0:8:
+%i:2147483647:1:10:2147483647:
+%*i:2147483647:0:10:
+%i:0X7fffffff:1:10:2147483647:
+%*i:0X7fffffff:0:10:
+%i:0x7FFFFFFF:1:10:2147483647:
+%*i:0x7FFFFFFF:0:10:
+%i:017777777777:1:12:2147483647:
+%*i:017777777777:0:12:
+%i:0B1111111111111111111111111111111:1:33:2147483647:
+%*i:0B1111111111111111111111111111111:0:33:
+%i:0b1111111111111111111111111111111:1:33:2147483647:
+%*i:0b1111111111111111111111111111111:0:33:
+%i:2147483648:1:10:-2147483648:
+%*i:2147483648:0:10:
+%i:0X80000000:1:10:-2147483648:
+%*i:0X80000000:0:10:
+%i:0x80000000:1:10:-2147483648:
+%*i:0x80000000:0:10:
+%i:020000000000:1:12:-2147483648:
+%*i:020000000000:0:12:
+%i:0B10000000000000000000000000000000:1:34:-2147483648:
+%*i:0B10000000000000000000000000000000:0:34:
+%i:0b10000000000000000000000000000000:1:34:-2147483648:
+%*i:0b10000000000000000000000000000000:0:34:
+%i:2147487889:1:10:-2147479407:
+%*i:2147487889:0:10:
+%i:0X80001091:1:10:-2147479407:
+%*i:0X80001091:0:10:
+%i:0x80001091:1:10:-2147479407:
+%*i:0x80001091:0:10:
+%i:020000010221:1:12:-2147479407:
+%*i:020000010221:0:12:
+%i:0B10000000000000000001000010010001:1:34:-2147479407:
+%*i:0B10000000000000000001000010010001:0:34:
+%i:0b10000000000000000001000010010001:1:34:-2147479407:
+%*i:0b10000000000000000001000010010001:0:34:
+%i:+0:1:2:0:
+%*i:+0:0:2:
+%i:+0X0:1:4:0:
+%*i:+0X0:0:4:
+%i:+0x0:1:4:0:
+%*i:+0x0:0:4:
+%i:+00:1:3:0:
+%*i:+00:0:3:
+%i:+0B0:1:4:0:
+%*i:+0B0:0:4:
+%i:+0b0:1:4:0:
+%*i:+0b0:0:4:
+%i:+1:1:2:1:
+%*i:+1:0:2:
+%i:+0X1:1:4:1:
+%*i:+0X1:0:4:
+%i:+0x1:1:4:1:
+%*i:+0x1:0:4:
+%i:+01:1:3:1:
+%*i:+01:0:3:
+%i:+0B1:1:4:1:
+%*i:+0B1:0:4:
+%i:+0b1:1:4:1:
+%*i:+0b1:0:4:
+%i:+42:1:3:42:
+%*i:+42:0:3:
+%i:+0X2a:1:5:42:
+%*i:+0X2a:0:5:
+%i:+0x2A:1:5:42:
+%*i:+0x2A:0:5:
+%i:+052:1:4:42:
+%*i:+052:0:4:
+%i:+0B101010:1:9:42:
+%*i:+0B101010:0:9:
+%i:+0b101010:1:9:42:
+%*i:+0b101010:0:9:
+%i:+2147483647:1:11:2147483647:
+%*i:+2147483647:0:11:
+%i:+0X7fffffff:1:11:2147483647:
+%*i:+0X7fffffff:0:11:
+%i:+0x7FFFFFFF:1:11:2147483647:
+%*i:+0x7FFFFFFF:0:11:
+%i:+017777777777:1:13:2147483647:
+%*i:+017777777777:0:13:
+%i:+0B1111111111111111111111111111111:1:34:2147483647:
+%*i:+0B1111111111111111111111111111111:0:34:
+%i:+0b1111111111111111111111111111111:1:34:2147483647:
+%*i:+0b1111111111111111111111111111111:0:34:
+%i:+2147483648:1:11:-2147483648:
+%*i:+2147483648:0:11:
+%i:+0X80000000:1:11:-2147483648:
+%*i:+0X80000000:0:11:
+%i:+0x80000000:1:11:-2147483648:
+%*i:+0x80000000:0:11:
+%i:+020000000000:1:13:-2147483648:
+%*i:+020000000000:0:13:
+%i:+0B10000000000000000000000000000000:1:35:-2147483648:
+%*i:+0B10000000000000000000000000000000:0:35:
+%i:+0b10000000000000000000000000000000:1:35:-2147483648:
+%*i:+0b10000000000000000000000000000000:0:35:
+%i:+2147487889:1:11:-2147479407:
+%*i:+2147487889:0:11:
+%i:+0X80001091:1:11:-2147479407:
+%*i:+0X80001091:0:11:
+%i:+0x80001091:1:11:-2147479407:
+%*i:+0x80001091:0:11:
+%i:+020000010221:1:13:-2147479407:
+%*i:+020000010221:0:13:
+%i:+0B10000000000000000001000010010001:1:35:-2147479407:
+%*i:+0B10000000000000000001000010010001:0:35:
+%i:+0b10000000000000000001000010010001:1:35:-2147479407:
+%*i:+0b10000000000000000001000010010001:0:35:
+%1i::0:-1:
+%*1i::0:-1:
+%1i:-2147484882:0:-1:
+%*1i:-2147484882:0:-1:
+%1i:-0X800004d2:0:-1:
+%*1i:-0X800004d2:0:-1:
+%1i:-0x800004D2:0:-1:
+%*1i:-0x800004D2:0:-1:
+%1i:-020000002322:0:-1:
+%*1i:-020000002322:0:-1:
+%1i:-0B10000000000000000000010011010010:0:-1:
+%*1i:-0B10000000000000000000010011010010:0:-1:
+%1i:-0b10000000000000000000010011010010:0:-1:
+%*1i:-0b10000000000000000000010011010010:0:-1:
+%1i:-2147483649:0:-1:
+%*1i:-2147483649:0:-1:
+%1i:-0X80000001:0:-1:
+%*1i:-0X80000001:0:-1:
+%1i:-0x80000001:0:-1:
+%*1i:-0x80000001:0:-1:
+%1i:-020000000001:0:-1:
+%*1i:-020000000001:0:-1:
+%1i:-0B10000000000000000000000000000001:0:-1:
+%*1i:-0B10000000000000000000000000000001:0:-1:
+%1i:-0b10000000000000000000000000000001:0:-1:
+%*1i:-0b10000000000000000000000000000001:0:-1:
+%1i:-2147483648:0:-1:
+%*1i:-2147483648:0:-1:
+%1i:-0X80000000:0:-1:
+%*1i:-0X80000000:0:-1:
+%1i:-0x80000000:0:-1:
+%*1i:-0x80000000:0:-1:
+%1i:-020000000000:0:-1:
+%*1i:-020000000000:0:-1:
+%1i:-0B10000000000000000000000000000000:0:-1:
+%*1i:-0B10000000000000000000000000000000:0:-1:
+%1i:-0b10000000000000000000000000000000:0:-1:
+%*1i:-0b10000000000000000000000000000000:0:-1:
+%1i:-123:0:-1:
+%*1i:-123:0:-1:
+%1i:-0X7b:0:-1:
+%*1i:-0X7b:0:-1:
+%1i:-0x7B:0:-1:
+%*1i:-0x7B:0:-1:
+%1i:-0173:0:-1:
+%*1i:-0173:0:-1:
+%1i:-0B1111011:0:-1:
+%*1i:-0B1111011:0:-1:
+%1i:-0b1111011:0:-1:
+%*1i:-0b1111011:0:-1:
+%1i:-1:0:-1:
+%*1i:-1:0:-1:
+%1i:-0X1:0:-1:
+%*1i:-0X1:0:-1:
+%1i:-0x1:0:-1:
+%*1i:-0x1:0:-1:
+%1i:-01:0:-1:
+%*1i:-01:0:-1:
+%1i:-0B1:0:-1:
+%*1i:-0B1:0:-1:
+%1i:-0b1:0:-1:
+%*1i:-0b1:0:-1:
+%1i:-0:0:-1:
+%*1i:-0:0:-1:
+%1i:-0X0:0:-1:
+%*1i:-0X0:0:-1:
+%1i:-0x0:0:-1:
+%*1i:-0x0:0:-1:
+%1i:-00:0:-1:
+%*1i:-00:0:-1:
+%1i:-0B0:0:-1:
+%*1i:-0B0:0:-1:
+%1i:-0b0:0:-1:
+%*1i:-0b0:0:-1:
+%1i:0:1:1:0:
+%*1i:0:0:1:
+%1i:0X0:1:1:0:
+%*1i:0X0:0:1:
+%1i:0x0:1:1:0:
+%*1i:0x0:0:1:
+%1i:00:1:1:0:
+%*1i:00:0:1:
+%1i:0B0:1:1:0:
+%*1i:0B0:0:1:
+%1i:0b0:1:1:0:
+%*1i:0b0:0:1:
+%1i:1:1:1:1:
+%*1i:1:0:1:
+%1i:0X1:1:1:0:
+%*1i:0X1:0:1:
+%1i:0x1:1:1:0:
+%*1i:0x1:0:1:
+%1i:01:1:1:0:
+%*1i:01:0:1:
+%1i:0B1:1:1:0:
+%*1i:0B1:0:1:
+%1i:0b1:1:1:0:
+%*1i:0b1:0:1:
+%1i:42:1:1:4:
+%*1i:42:0:1:
+%1i:0X2a:1:1:0:
+%*1i:0X2a:0:1:
+%1i:0x2A:1:1:0:
+%*1i:0x2A:0:1:
+%1i:052:1:1:0:
+%*1i:052:0:1:
+%1i:0B101010:1:1:0:
+%*1i:0B101010:0:1:
+%1i:0b101010:1:1:0:
+%*1i:0b101010:0:1:
+%1i:2147483647:1:1:2:
+%*1i:2147483647:0:1:
+%1i:0X7fffffff:1:1:0:
+%*1i:0X7fffffff:0:1:
+%1i:0x7FFFFFFF:1:1:0:
+%*1i:0x7FFFFFFF:0:1:
+%1i:017777777777:1:1:0:
+%*1i:017777777777:0:1:
+%1i:0B1111111111111111111111111111111:1:1:0:
+%*1i:0B1111111111111111111111111111111:0:1:
+%1i:0b1111111111111111111111111111111:1:1:0:
+%*1i:0b1111111111111111111111111111111:0:1:
+%1i:2147483648:1:1:2:
+%*1i:2147483648:0:1:
+%1i:0X80000000:1:1:0:
+%*1i:0X80000000:0:1:
+%1i:0x80000000:1:1:0:
+%*1i:0x80000000:0:1:
+%1i:020000000000:1:1:0:
+%*1i:020000000000:0:1:
+%1i:0B10000000000000000000000000000000:1:1:0:
+%*1i:0B10000000000000000000000000000000:0:1:
+%1i:0b10000000000000000000000000000000:1:1:0:
+%*1i:0b10000000000000000000000000000000:0:1:
+%1i:2147487889:1:1:2:
+%*1i:2147487889:0:1:
+%1i:0X80001091:1:1:0:
+%*1i:0X80001091:0:1:
+%1i:0x80001091:1:1:0:
+%*1i:0x80001091:0:1:
+%1i:020000010221:1:1:0:
+%*1i:020000010221:0:1:
+%1i:0B10000000000000000001000010010001:1:1:0:
+%*1i:0B10000000000000000001000010010001:0:1:
+%1i:0b10000000000000000001000010010001:1:1:0:
+%*1i:0b10000000000000000001000010010001:0:1:
+%1i:+0:0:-1:
+%*1i:+0:0:-1:
+%1i:+0X0:0:-1:
+%*1i:+0X0:0:-1:
+%1i:+0x0:0:-1:
+%*1i:+0x0:0:-1:
+%1i:+00:0:-1:
+%*1i:+00:0:-1:
+%1i:+0B0:0:-1:
+%*1i:+0B0:0:-1:
+%1i:+0b0:0:-1:
+%*1i:+0b0:0:-1:
+%1i:+1:0:-1:
+%*1i:+1:0:-1:
+%1i:+0X1:0:-1:
+%*1i:+0X1:0:-1:
+%1i:+0x1:0:-1:
+%*1i:+0x1:0:-1:
+%1i:+01:0:-1:
+%*1i:+01:0:-1:
+%1i:+0B1:0:-1:
+%*1i:+0B1:0:-1:
+%1i:+0b1:0:-1:
+%*1i:+0b1:0:-1:
+%1i:+42:0:-1:
+%*1i:+42:0:-1:
+%1i:+0X2a:0:-1:
+%*1i:+0X2a:0:-1:
+%1i:+0x2A:0:-1:
+%*1i:+0x2A:0:-1:
+%1i:+052:0:-1:
+%*1i:+052:0:-1:
+%1i:+0B101010:0:-1:
+%*1i:+0B101010:0:-1:
+%1i:+0b101010:0:-1:
+%*1i:+0b101010:0:-1:
+%1i:+2147483647:0:-1:
+%*1i:+2147483647:0:-1:
+%1i:+0X7fffffff:0:-1:
+%*1i:+0X7fffffff:0:-1:
+%1i:+0x7FFFFFFF:0:-1:
+