Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

gh-139310: skip test_aead_aes_gcm for Linux kernel between 6.16.0 and 6.17.x #139552

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
picnixz merged 2 commits into python:main from picnixz:fix/socket/aead-fedora-139310
Oct 5, 2025

Conversation

Copy link
Member

@picnixz picnixz commented Oct 4, 2025
edited by bedevere-app bot
Loading

This is to make Fedora build bots for which the kernel only backported torvalds/linux@1b34cbb without the subsequent fix torvalds/linux@d0ca0df.

Currently, kernel 6.16.9 on Fedora contains the first commit (https://gitlab.com/cki-project/kernel-ark/-/commit/45bcf60fe49b37daab1acee57b27211ad1574042) but not the second.

cc @hugovk

@picnixz picnixz requested a review from hugovk October 4, 2025 10:47
@picnixz picnixz changed the title (削除) gh-139310: skip test_aead_aes_gcm if the underlying kernel issue is not resolved (削除ここまで) (追記) gh-139310: skip test_aead_aes_gcm for Linux kernel between 6.16.0 and 6.17.x (追記ここまで) Oct 4, 2025
Copy link
Member Author

picnixz commented Oct 4, 2025

I'll wait for the CI here to complete and then I'll run the buildbots.

hugovk reacted with thumbs up emoji

Copy link
Contributor

@Zheaoli Zheaoli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@picnixz picnixz added the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Oct 4, 2025
Copy link

🤖 New build scheduled with the buildbot fleet by @picnixz for commit 05fd823 🤖

Results will be shown at:

https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F139552%2Fmerge

If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again.

@bedevere-bot bedevere-bot removed the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Oct 4, 2025
Copy link
Member

encukou commented Oct 5, 2025

@stratakis, would you be able to upgrade/downgrade the kernel on the buildbots instead?

For the long run it would be nicer if we do fail on buggy kernels, but, we'll also need green buildbots on Monday, before Tuesday's release.

Copy link
Member

hugovk commented Oct 5, 2025
edited
Loading

The PPC64LE Fedora and RHEL8 ModuleNotFoundError: No module named 'setuptools' failures look unrelated:

@picnixz picnixz merged commit 41712c4 into python:main Oct 5, 2025
47 checks passed
@picnixz picnixz deleted the fix/socket/aead-fedora-139310 branch October 5, 2025 08:27
@picnixz picnixz added needs backport to 3.13 bugs and security fixes needs backport to 3.14 bugs and security fixes labels Oct 5, 2025
Copy link

Thanks @picnixz for the PR 🌮🎉.. I'm working now to backport this PR to: 3.14.
🐍🍒⛏🤖

Copy link

Thanks @picnixz for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 5, 2025
...16.0 and 6.17.x (pythonGH-139552)
Currently, Fedora 42 uses a custom Linux Kernel 6.16.9 that backported an upstream change
from 6.17-rc7 [1,3] but not its subsequent fix [2]. Until the issue is resolved upstream,
we skip the failing test `test_socket.test_aead_aes_gcm` for kernel versions between 6.16
and 6.17.x.
[1] torvalds/linux@1b34cbb
[2] torvalds/linux@d0ca0df.
[3] https://gitlab.com/cki-project/kernel-ark/-/commit/45bcf60fe49b37daab1acee57b27211ad1574042
(cherry picked from commit 41712c4)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 5, 2025
...16.0 and 6.17.x (pythonGH-139552)
Currently, Fedora 42 uses a custom Linux Kernel 6.16.9 that backported an upstream change
from 6.17-rc7 [1,3] but not its subsequent fix [2]. Until the issue is resolved upstream,
we skip the failing test `test_socket.test_aead_aes_gcm` for kernel versions between 6.16
and 6.17.x.
[1] torvalds/linux@1b34cbb
[2] torvalds/linux@d0ca0df.
[3] https://gitlab.com/cki-project/kernel-ark/-/commit/45bcf60fe49b37daab1acee57b27211ad1574042
(cherry picked from commit 41712c4)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Copy link

bedevere-app bot commented Oct 5, 2025

GH-139593 is a backport of this pull request to the 3.13 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.13 bugs and security fixes label Oct 5, 2025
Copy link

bedevere-app bot commented Oct 5, 2025

GH-139594 is a backport of this pull request to the 3.14 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.14 bugs and security fixes label Oct 5, 2025
picnixz added a commit that referenced this pull request Oct 5, 2025
....16.0 and 6.17.x (GH-139552) (#139593)
gh-139310: skip `test_aead_aes_gcm` for Linux kernel between 6.16.0 and 6.17.x (GH-139552)
Currently, Fedora 42 uses a custom Linux Kernel 6.16.9 that backported an upstream change
from 6.17-rc7 [1,3] but not its subsequent fix [2]. Until the issue is resolved upstream,
we skip the failing test `test_socket.test_aead_aes_gcm` for kernel versions between 6.16
and 6.17.x.
[1] torvalds/linux@1b34cbb
[2] torvalds/linux@d0ca0df
[3] https://gitlab.com/cki-project/kernel-ark/-/commit/45bcf60fe49b37daab1acee57b27211ad1574042
(cherry picked from commit 41712c4)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
hugovk pushed a commit that referenced this pull request Oct 5, 2025
....16.0 and 6.17.x (GH-139552) (#139594)
gh-139310: skip `test_aead_aes_gcm` for Linux kernel between 6.16.0 and 6.17.x (GH-139552)
Currently, Fedora 42 uses a custom Linux Kernel 6.16.9 that backported an upstream change
from 6.17-rc7 [1,3] but not its subsequent fix [2]. Until the issue is resolved upstream,
we skip the failing test `test_socket.test_aead_aes_gcm` for kernel versions between 6.16
and 6.17.x.
[1] torvalds/linux@1b34cbb
[2] torvalds/linux@d0ca0df.
[3] https://gitlab.com/cki-project/kernel-ark/-/commit/45bcf60fe49b37daab1acee57b27211ad1574042
(cherry picked from commit 41712c4)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot ARM Raspbian Linux Asan 3.13 (no tier) has failed when building commit 7e5d47d.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/#/builders/1817/builds/86) and take a look at the build logs.
  4. Check if the failure is related to this commit (7e5d47d) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/#/builders/1817/builds/86

Summary of the results of the build (if available):

Click to see traceback logs
remote: Enumerating objects: 7, done. 
remote: Counting objects: 20% (1/5) 
remote: Counting objects: 40% (2/5) 
remote: Counting objects: 60% (3/5) 
remote: Counting objects: 80% (4/5) 
remote: Counting objects: 100% (5/5) 
remote: Counting objects: 100% (5/5), done. 
remote: Compressing objects: 33% (1/3) 
remote: Compressing objects: 66% (2/3) 
remote: Compressing objects: 100% (3/3) 
remote: Compressing objects: 100% (3/3), done. 
remote: Total 7 (delta 2), reused 2 (delta 2), pack-reused 2 (from 2) 
From https://github.com/python/cpython
 * branch 3.13 -> FETCH_HEAD
Note: switching to '7e5d47de10c29a9b4018b3fd5bb905d0d51d8792'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
 git switch -c <new-branch-name>
Or undo this operation with:
 git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 7e5d47de10c [3.13] gh-139310: skip `test_aead_aes_gcm` for Linux kernel between 6.16.0 and 6.17.x (GH-139552) (#139593)
Switched to and reset branch '3.13'
configure: WARNING: no system libmpdec found; falling back to bundled libmpdec (deprecated and scheduled for removal in Python 3.16)
In function ‘hashtable_key_from_2_strings’,
 inlined from ‘_extensions_cache_find_unlocked’ at Python/import.c:1264:17:
Python/import.c:1177:5: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
 1177 | strncpy(key, str1_data, str1_len);
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Python/import.c:1163:27: note: length computed here
 1163 | Py_ssize_t str1_len = strlen(str1_data);
 | ^~~~~~~~~~~~~~~~~
In function ‘word_to_string’,
 inlined from ‘coeff_to_string’ at ./Modules/_decimal/libmpdec/io.c:411:13,
 inlined from ‘_mpd_to_string’ at ./Modules/_decimal/libmpdec/io.c:612:18:
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:360:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 360 | case 15: EXTRACT_DIGIT(s, x, 100000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:361:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 361 | case 14: EXTRACT_DIGIT(s, x, 10000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:362:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 362 | case 13: EXTRACT_DIGIT(s, x, 1000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:359:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 359 | case 16: EXTRACT_DIGIT(s, x, 1000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:360:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 360 | case 15: EXTRACT_DIGIT(s, x, 100000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:361:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 361 | case 14: EXTRACT_DIGIT(s, x, 10000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:358:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 358 | case 17: EXTRACT_DIGIT(s, x, 10000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:359:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 359 | case 16: EXTRACT_DIGIT(s, x, 1000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:360:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 360 | case 15: EXTRACT_DIGIT(s, x, 100000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:357:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 357 | case 18: EXTRACT_DIGIT(s, x, 100000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:358:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 358 | case 17: EXTRACT_DIGIT(s, x, 10000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:359:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 359 | case 16: EXTRACT_DIGIT(s, x, 1000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:361:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 361 | case 14: EXTRACT_DIGIT(s, x, 10000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:362:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 362 | case 13: EXTRACT_DIGIT(s, x, 1000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:363:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 363 | case 12: EXTRACT_DIGIT(s, x, 100000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:362:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 362 | case 13: EXTRACT_DIGIT(s, x, 1000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:363:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 363 | case 12: EXTRACT_DIGIT(s, x, 100000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:364:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 364 | case 11: EXTRACT_DIGIT(s, x, 10000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:363:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 363 | case 12: EXTRACT_DIGIT(s, x, 100000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:364:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 364 | case 11: EXTRACT_DIGIT(s, x, 10000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:366:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 366 | case 10: EXTRACT_DIGIT(s, x, 1000000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:364:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 364 | case 11: EXTRACT_DIGIT(s, x, 10000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:366:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 366 | case 10: EXTRACT_DIGIT(s, x, 1000000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:367:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 367 | case 9: EXTRACT_DIGIT(s, x, 100000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:366:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 366 | case 10: EXTRACT_DIGIT(s, x, 1000000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:367:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 367 | case 9: EXTRACT_DIGIT(s, x, 100000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:368:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 368 | case 8: EXTRACT_DIGIT(s, x, 10000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:367:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 367 | case 9: EXTRACT_DIGIT(s, x, 100000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:368:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 368 | case 8: EXTRACT_DIGIT(s, x, 10000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:369:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 369 | case 7: EXTRACT_DIGIT(s, x, 1000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:368:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 368 | case 8: EXTRACT_DIGIT(s, x, 10000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:369:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 369 | case 7: EXTRACT_DIGIT(s, x, 1000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:370:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 370 | case 6: EXTRACT_DIGIT(s, x, 100000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:369:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 369 | case 7: EXTRACT_DIGIT(s, x, 1000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:370:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 370 | case 6: EXTRACT_DIGIT(s, x, 100000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:371:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 371 | case 5: EXTRACT_DIGIT(s, x, 10000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:370:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 370 | case 6: EXTRACT_DIGIT(s, x, 100000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:371:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 371 | case 5: EXTRACT_DIGIT(s, x, 10000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:372:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 372 | case 4: EXTRACT_DIGIT(s, x, 1000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:371:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 371 | case 5: EXTRACT_DIGIT(s, x, 10000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:372:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 372 | case 4: EXTRACT_DIGIT(s, x, 1000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:373:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 373 | case 3: EXTRACT_DIGIT(s, x, 100UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:372:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 372 | case 4: EXTRACT_DIGIT(s, x, 1000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:373:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 373 | case 3: EXTRACT_DIGIT(s, x, 100UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:374:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 374 | case 2: EXTRACT_DIGIT(s, x, 10UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:373:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 373 | case 3: EXTRACT_DIGIT(s, x, 100UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:374:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 374 | case 2: EXTRACT_DIGIT(s, x, 10UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:374:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 374 | case 2: EXTRACT_DIGIT(s, x, 10UL, dot);
 | ^~~~~~~~~~~~~
In function ‘word_to_string’,
 inlined from ‘coeff_to_string’ at ./Modules/_decimal/libmpdec/io.c:411:13,
 inlined from ‘_mpd_to_string’ at ./Modules/_decimal/libmpdec/io.c:608:18:
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:360:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 360 | case 15: EXTRACT_DIGIT(s, x, 100000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:361:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 361 | case 14: EXTRACT_DIGIT(s, x, 10000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:362:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 362 | case 13: EXTRACT_DIGIT(s, x, 1000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:359:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 359 | case 16: EXTRACT_DIGIT(s, x, 1000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:360:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 360 | case 15: EXTRACT_DIGIT(s, x, 100000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:361:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 361 | case 14: EXTRACT_DIGIT(s, x, 10000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:358:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 358 | case 17: EXTRACT_DIGIT(s, x, 10000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:359:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 359 | case 16: EXTRACT_DIGIT(s, x, 1000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:360:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 360 | case 15: EXTRACT_DIGIT(s, x, 100000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:357:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 357 | case 18: EXTRACT_DIGIT(s, x, 100000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:358:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 358 | case 17: EXTRACT_DIGIT(s, x, 10000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:359:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 359 | case 16: EXTRACT_DIGIT(s, x, 1000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:361:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 361 | case 14: EXTRACT_DIGIT(s, x, 10000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:362:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 362 | case 13: EXTRACT_DIGIT(s, x, 1000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:363:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 363 | case 12: EXTRACT_DIGIT(s, x, 100000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:362:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 362 | case 13: EXTRACT_DIGIT(s, x, 1000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:363:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 363 | case 12: EXTRACT_DIGIT(s, x, 100000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:364:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 364 | case 11: EXTRACT_DIGIT(s, x, 10000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:363:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 363 | case 12: EXTRACT_DIGIT(s, x, 100000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:364:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 364 | case 11: EXTRACT_DIGIT(s, x, 10000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:366:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 366 | case 10: EXTRACT_DIGIT(s, x, 1000000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:364:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 364 | case 11: EXTRACT_DIGIT(s, x, 10000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:366:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 366 | case 10: EXTRACT_DIGIT(s, x, 1000000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:367:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 367 | case 9: EXTRACT_DIGIT(s, x, 100000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:366:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 366 | case 10: EXTRACT_DIGIT(s, x, 1000000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:367:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 367 | case 9: EXTRACT_DIGIT(s, x, 100000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:368:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 368 | case 8: EXTRACT_DIGIT(s, x, 10000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:367:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 367 | case 9: EXTRACT_DIGIT(s, x, 100000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:368:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 368 | case 8: EXTRACT_DIGIT(s, x, 10000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:369:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 369 | case 7: EXTRACT_DIGIT(s, x, 1000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:368:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 368 | case 8: EXTRACT_DIGIT(s, x, 10000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:369:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 369 | case 7: EXTRACT_DIGIT(s, x, 1000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:370:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 370 | case 6: EXTRACT_DIGIT(s, x, 100000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:369:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 369 | case 7: EXTRACT_DIGIT(s, x, 1000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:370:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 370 | case 6: EXTRACT_DIGIT(s, x, 100000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:371:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 371 | case 5: EXTRACT_DIGIT(s, x, 10000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:370:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 370 | case 6: EXTRACT_DIGIT(s, x, 100000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:371:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 371 | case 5: EXTRACT_DIGIT(s, x, 10000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:372:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 372 | case 4: EXTRACT_DIGIT(s, x, 1000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:371:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 371 | case 5: EXTRACT_DIGIT(s, x, 10000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:372:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 372 | case 4: EXTRACT_DIGIT(s, x, 1000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:373:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 373 | case 3: EXTRACT_DIGIT(s, x, 100UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:372:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 372 | case 4: EXTRACT_DIGIT(s, x, 1000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:373:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 373 | case 3: EXTRACT_DIGIT(s, x, 100UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:374:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 374 | case 2: EXTRACT_DIGIT(s, x, 10UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:373:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 373 | case 3: EXTRACT_DIGIT(s, x, 100UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:374:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 374 | case 2: EXTRACT_DIGIT(s, x, 10UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:374:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 374 | case 2: EXTRACT_DIGIT(s, x, 10UL, dot);
 | ^~~~~~~~~~~~~
In function ‘word_to_string’,
 inlined from ‘coeff_to_string’ at ./Modules/_decimal/libmpdec/io.c:411:13,
 inlined from ‘_mpd_to_string’ at ./Modules/_decimal/libmpdec/io.c:502:22:
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:360:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 360 | case 15: EXTRACT_DIGIT(s, x, 100000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:361:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 361 | case 14: EXTRACT_DIGIT(s, x, 10000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:362:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 362 | case 13: EXTRACT_DIGIT(s, x, 1000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:359:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 359 | case 16: EXTRACT_DIGIT(s, x, 1000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:360:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 360 | case 15: EXTRACT_DIGIT(s, x, 100000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:361:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 361 | case 14: EXTRACT_DIGIT(s, x, 10000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:358:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 358 | case 17: EXTRACT_DIGIT(s, x, 10000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:359:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 359 | case 16: EXTRACT_DIGIT(s, x, 1000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:360:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 360 | case 15: EXTRACT_DIGIT(s, x, 100000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:357:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 357 | case 18: EXTRACT_DIGIT(s, x, 100000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:358:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 358 | case 17: EXTRACT_DIGIT(s, x, 10000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:359:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 359 | case 16: EXTRACT_DIGIT(s, x, 1000000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:361:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 361 | case 14: EXTRACT_DIGIT(s, x, 10000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:362:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 362 | case 13: EXTRACT_DIGIT(s, x, 1000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:363:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 363 | case 12: EXTRACT_DIGIT(s, x, 100000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:362:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 362 | case 13: EXTRACT_DIGIT(s, x, 1000000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:363:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 363 | case 12: EXTRACT_DIGIT(s, x, 100000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:364:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 364 | case 11: EXTRACT_DIGIT(s, x, 10000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:363:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 363 | case 12: EXTRACT_DIGIT(s, x, 100000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:364:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 364 | case 11: EXTRACT_DIGIT(s, x, 10000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:366:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 366 | case 10: EXTRACT_DIGIT(s, x, 1000000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:364:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 364 | case 11: EXTRACT_DIGIT(s, x, 10000000000ULL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:366:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 366 | case 10: EXTRACT_DIGIT(s, x, 1000000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:367:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 367 | case 9: EXTRACT_DIGIT(s, x, 100000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:366:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 366 | case 10: EXTRACT_DIGIT(s, x, 1000000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:367:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 367 | case 9: EXTRACT_DIGIT(s, x, 100000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:368:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 368 | case 8: EXTRACT_DIGIT(s, x, 10000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:367:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 367 | case 9: EXTRACT_DIGIT(s, x, 100000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:368:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 368 | case 8: EXTRACT_DIGIT(s, x, 10000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:369:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 369 | case 7: EXTRACT_DIGIT(s, x, 1000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:368:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 368 | case 8: EXTRACT_DIGIT(s, x, 10000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:369:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 369 | case 7: EXTRACT_DIGIT(s, x, 1000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:370:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 370 | case 6: EXTRACT_DIGIT(s, x, 100000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:369:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 369 | case 7: EXTRACT_DIGIT(s, x, 1000000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:370:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 370 | case 6: EXTRACT_DIGIT(s, x, 100000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:371:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 371 | case 5: EXTRACT_DIGIT(s, x, 10000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:370:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 370 | case 6: EXTRACT_DIGIT(s, x, 100000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:371:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 371 | case 5: EXTRACT_DIGIT(s, x, 10000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:372:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 372 | case 4: EXTRACT_DIGIT(s, x, 1000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:371:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 371 | case 5: EXTRACT_DIGIT(s, x, 10000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:372:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 372 | case 4: EXTRACT_DIGIT(s, x, 1000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:373:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 373 | case 3: EXTRACT_DIGIT(s, x, 100UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:372:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 372 | case 4: EXTRACT_DIGIT(s, x, 1000UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:373:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 373 | case 3: EXTRACT_DIGIT(s, x, 100UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:374:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 374 | case 2: EXTRACT_DIGIT(s, x, 10UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:373:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 373 | case 3: EXTRACT_DIGIT(s, x, 100UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:374:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 374 | case 2: EXTRACT_DIGIT(s, x, 10UL, dot);
 | ^~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
 | ~~~~~^~~~~~~~~~~~~~~~~~~~~
./Modules/_decimal/libmpdec/io.c:374:14: note: in expansion of macro ‘EXTRACT_DIGIT’
 374 | case 2: EXTRACT_DIGIT(s, x, 10UL, dot);
 | ^~~~~~~~~~~~~
Timeout (0:05:00)!
Thread 0x0000007fb19ef100 (most recent call first):
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/setup.py", line 85 in _test_audit_hook
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/subprocess.py", line 2060 in _wait
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/subprocess.py", line 1280 in wait
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/run_workers.py", line 188 in _run_process
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/run_workers.py", line 293 in run_tmp_files
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/run_workers.py", line 357 in _runtest
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/run_workers.py", line 397 in run
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/threading.py", line 1043 in _bootstrap_inner
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/threading.py", line 1014 in _bootstrap
Thread 0x0000007fb21ff100 (most recent call first):
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/subprocess.py", line 2045 in _wait
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/subprocess.py", line 1280 in wait
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/run_workers.py", line 188 in _run_process
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/run_workers.py", line 293 in run_tmp_files
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/run_workers.py", line 357 in _runtest
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/run_workers.py", line 397 in run
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/threading.py", line 1043 in _bootstrap_inner
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/threading.py", line 1014 in _bootstrap
Thread 0x0000007fbdb23500 (most recent call first):
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/run_workers.py", line 462 in get_running
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/run_workers.py", line 545 in _get_result
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/run_workers.py", line 604 in run
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/main.py", line 433 in _run_tests_mp
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/main.py", line 538 in _run_tests
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/main.py", line 586 in run_tests
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/main.py", line 755 in main
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/libregrtest/main.py", line 763 in main
 File "/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/Lib/test/__main__.py", line 2 in <module>
 File "<frozen runpy>", line 88 in _run_code
 File "<frozen runpy>", line 198 in _run_module_as_main
make: *** [Makefile:2252: buildbottest] Error 1
Cannot open file '/home/buildbot/buildarea/3.13.pablogsal-rasp.asan/build/test-results.xml' for upload

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Reviewers

@hugovk hugovk hugovk approved these changes

+1 more reviewer

@Zheaoli Zheaoli Zheaoli approved these changes

Reviewers whose approvals may not affect merge requirements
Assignees
No one assigned
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /