mirror of
https://github.com/python/cpython.git
synced 2025-08-03 00:23:06 +00:00
Issue #25558: Use compile-time asserts.
This commit is contained in:
parent
41a87637c0
commit
fad85aadb0
7 changed files with 24 additions and 20 deletions
|
@ -2386,7 +2386,7 @@ unique_key(CDataObject *target, Py_ssize_t index)
|
|||
char *cp = string;
|
||||
size_t bytes_left;
|
||||
|
||||
assert(sizeof(string) - 1 > sizeof(Py_ssize_t) * 2);
|
||||
Py_BUILD_ASSERT(sizeof(string) - 1 > sizeof(Py_ssize_t) * 2);
|
||||
cp += sprintf(cp, "%x", Py_SAFE_DOWNCAST(index, Py_ssize_t, int));
|
||||
while (target->b_base) {
|
||||
bytes_left = sizeof(string) - (cp - string) - 1;
|
||||
|
|
|
@ -5329,19 +5329,19 @@ PyInit__datetime(void)
|
|||
/* A 4-year cycle has an extra leap day over what we'd get from
|
||||
* pasting together 4 single years.
|
||||
*/
|
||||
assert(DI4Y == 4 * 365 + 1);
|
||||
Py_BUILD_ASSERT(DI4Y == 4 * 365 + 1);
|
||||
assert(DI4Y == days_before_year(4+1));
|
||||
|
||||
/* Similarly, a 400-year cycle has an extra leap day over what we'd
|
||||
* get from pasting together 4 100-year cycles.
|
||||
*/
|
||||
assert(DI400Y == 4 * DI100Y + 1);
|
||||
Py_BUILD_ASSERT(DI400Y == 4 * DI100Y + 1);
|
||||
assert(DI400Y == days_before_year(400+1));
|
||||
|
||||
/* OTOH, a 100-year cycle has one fewer leap day than we'd get from
|
||||
* pasting together 25 4-year cycles.
|
||||
*/
|
||||
assert(DI100Y == 25 * DI4Y - 1);
|
||||
Py_BUILD_ASSERT(DI100Y == 25 * DI4Y - 1);
|
||||
assert(DI100Y == days_before_year(100+1));
|
||||
|
||||
one = PyLong_FromLong(1);
|
||||
|
|
|
@ -874,7 +874,7 @@ _write_size64(char *out, size_t value)
|
|||
{
|
||||
size_t i;
|
||||
|
||||
assert(sizeof(size_t) <= 8);
|
||||
Py_BUILD_ASSERT(sizeof(size_t) <= 8);
|
||||
|
||||
for (i = 0; i < sizeof(size_t); i++) {
|
||||
out[i] = (unsigned char)((value >> (8 * i)) & 0xff);
|
||||
|
|
|
@ -747,7 +747,8 @@ pyexpat_xmlparser_Parse_impl(xmlparseobject *self, PyObject *data,
|
|||
s += MAX_CHUNK_SIZE;
|
||||
slen -= MAX_CHUNK_SIZE;
|
||||
}
|
||||
assert(MAX_CHUNK_SIZE < INT_MAX && slen < INT_MAX);
|
||||
Py_BUILD_ASSERT(MAX_CHUNK_SIZE <= INT_MAX);
|
||||
assert(slen <= INT_MAX);
|
||||
rc = XML_Parse(self->itself, s, (int)slen, isfinal);
|
||||
|
||||
done:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue