Skip to content

Commit c4b55f2

Browse files
authored
Merge branch 'main' into enable-error-overlays
2 parents 50188d3 + 8000a9d commit c4b55f2

File tree

305 files changed

+9412
-3421
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

305 files changed

+9412
-3421
lines changed

.github/workflows/reusable-san.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
|| ''
6262
}}.txt handle_segv=0" >> "$GITHUB_ENV"
6363
else
64-
echo "UBSAN_OPTIONS=${SAN_LOG_OPTION}" >> "$GITHUB_ENV"
64+
echo "UBSAN_OPTIONS=${SAN_LOG_OPTION} halt_on_error=1 suppressions=${GITHUB_WORKSPACE}/Tools/ubsan/suppressions.txt" >> "$GITHUB_ENV"
6565
fi
6666
echo "CC=clang" >> "$GITHUB_ENV"
6767
echo "CXX=clang++" >> "$GITHUB_ENV"
@@ -75,18 +75,21 @@ jobs:
7575
${{
7676
inputs.sanitizer == 'TSan'
7777
&& '--with-thread-sanitizer'
78-
|| '--with-undefined-behavior-sanitizer'
78+
|| '--with-undefined-behavior-sanitizer --with-strict-overflow'
7979
}}
8080
--with-pydebug
8181
${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
8282
- name: Build CPython
8383
run: make -j4
8484
- name: Display build info
8585
run: make pythoninfo
86+
# test_{capi,faulthandler} are skipped under UBSan because
87+
# they raise signals that UBSan with halt_on_error=1 intercepts.
8688
- name: Tests
8789
run: >-
8890
./python -m test
8991
${{ inputs.sanitizer == 'TSan' && '--tsan' || '' }}
92+
${{ inputs.sanitizer == 'UBSan' && '-x test_capi -x test_faulthandler' || '' }}
9093
-j4
9194
- name: Parallel tests
9295
if: >-

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/astral-sh/ruff-pre-commit
3-
rev: a27a2e47c7751b639d2b5badf0ef6ff11fee893f # frozen: v0.15.4
3+
rev: e05c5c0818279e5ac248ac9e954431ba58865e61 # frozen: v0.15.7
44
hooks:
55
- id: ruff-check
66
name: Run Ruff (lint) on Platforms/Apple/

Doc/c-api/dict.rst

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Dictionary objects
4545
The first argument can be a :class:`dict`, a :class:`frozendict`, or a
4646
mapping.
4747
48-
.. versionchanged:: next
48+
.. versionchanged:: 3.15
4949
Also accept :class:`frozendict`.
5050
5151
@@ -76,7 +76,7 @@ Dictionary objects
7676
7777
The first argument can be a :class:`dict` or a :class:`frozendict`.
7878
79-
.. versionchanged:: next
79+
.. versionchanged:: 3.15
8080
Also accept :class:`frozendict`.
8181
8282
@@ -90,7 +90,7 @@ Dictionary objects
9090
9191
.. versionadded:: 3.13
9292
93-
.. versionchanged:: next
93+
.. versionchanged:: 3.15
9494
Also accept :class:`frozendict`.
9595
9696
@@ -142,7 +142,7 @@ Dictionary objects
142142
143143
.. versionadded:: 3.13
144144
145-
.. versionchanged:: next
145+
.. versionchanged:: 3.15
146146
Also accept :class:`frozendict`.
147147
148148
See also the :c:func:`PyObject_GetItem` function.
@@ -166,7 +166,7 @@ Dictionary objects
166166
Calling this API without an :term:`attached thread state` had been allowed for historical
167167
reason. It is no longer allowed.
168168
169-
.. versionchanged:: next
169+
.. versionchanged:: 3.15
170170
Also accept :class:`frozendict`.
171171
172172
@@ -177,7 +177,7 @@ Dictionary objects
177177
occurred. Return ``NULL`` **without** an exception set if the key
178178
wasn't present.
179179
180-
.. versionchanged:: next
180+
.. versionchanged:: 3.15
181181
Also accept :class:`frozendict`.
182182
183183
@@ -195,7 +195,7 @@ Dictionary objects
195195
Prefer using the :c:func:`PyDict_GetItemWithError` function with your own
196196
:c:func:`PyUnicode_FromString` *key* instead.
197197
198-
.. versionchanged:: next
198+
.. versionchanged:: 3.15
199199
Also accept :class:`frozendict`.
200200
201201
@@ -207,7 +207,7 @@ Dictionary objects
207207
208208
.. versionadded:: 3.13
209209
210-
.. versionchanged:: next
210+
.. versionchanged:: 3.15
211211
Also accept :class:`frozendict`.
212212
213213
@@ -275,7 +275,7 @@ Dictionary objects
275275
276276
The first argument can be a :class:`dict` or a :class:`frozendict`.
277277
278-
.. versionchanged:: next
278+
.. versionchanged:: 3.15
279279
Also accept :class:`frozendict`.
280280
281281
@@ -285,7 +285,7 @@ Dictionary objects
285285
286286
The first argument can be a :class:`dict` or a :class:`frozendict`.
287287
288-
.. versionchanged:: next
288+
.. versionchanged:: 3.15
289289
Also accept :class:`frozendict`.
290290
291291
@@ -296,7 +296,7 @@ Dictionary objects
296296
297297
The first argument can be a :class:`dict` or a :class:`frozendict`.
298298
299-
.. versionchanged:: next
299+
.. versionchanged:: 3.15
300300
Also accept :class:`frozendict`.
301301
302302
@@ -309,15 +309,15 @@ Dictionary objects
309309
310310
The argument can be a :class:`dict` or a :class:`frozendict`.
311311
312-
.. versionchanged:: next
312+
.. versionchanged:: 3.15
313313
Also accept :class:`frozendict`.
314314
315315
316316
.. c:function:: Py_ssize_t PyDict_GET_SIZE(PyObject *p)
317317
318318
Similar to :c:func:`PyDict_Size`, but without error checking.
319319
320-
.. versionchanged:: next
320+
.. versionchanged:: 3.15
321321
Also accept :class:`frozendict`.
322322
323323
@@ -391,7 +391,7 @@ Dictionary objects
391391
:term:`strong reference <strong reference>` (for example, using
392392
:c:func:`Py_NewRef`).
393393
394-
.. versionchanged:: next
394+
.. versionchanged:: 3.15
395395
Also accept :class:`frozendict`.
396396
397397
.. c:function:: int PyDict_Merge(PyObject *a, PyObject *b, int override)

0 commit comments

Comments
 (0)