Skip to content

Commit 6a50c2f

Browse files
committed
Merge branch 'main' into mark-first-gc
2 parents db2e173 + 3966d8d commit 6a50c2f

File tree

476 files changed

+10937
-4059
lines changed

Some content is hidden

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

476 files changed

+10937
-4059
lines changed

.azure-pipelines/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ jobs:
55
displayName: Pre-build checks
66

77
pool:
8-
vmImage: ubuntu-22.04
8+
vmImage: ubuntu-24.04
99

1010
steps:
1111
- template: ./prebuild-checks.yml

.github/CODEOWNERS

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,17 @@ configure* @erlend-aasland @corona10
1616
Makefile.pre.in @erlend-aasland
1717
Modules/Setup* @erlend-aasland
1818

19+
# argparse
20+
**/*argparse* @savannahostrowski
21+
1922
# asyncio
2023
**/*asyncio* @1st1 @asvetlov @kumaraditya303 @willingc
2124

2225
# Core
2326
**/*context* @1st1
2427
**/*genobject* @markshannon
2528
**/*hamt* @1st1
26-
**/*jit* @brandtbucher
29+
**/*jit* @brandtbucher @savannahostrowski
2730
Objects/set* @rhettinger
2831
Objects/dict* @methane @markshannon
2932
Objects/typevarobject.c @JelleZijlstra

.github/workflows/build.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
# reproducible: to get the same tools versions (autoconf, aclocal, ...)
4747
runs-on: ubuntu-24.04
4848
container:
49-
image: ghcr.io/python/autoconf:2024.10.16.11360930377
49+
image: ghcr.io/python/autoconf:2024.11.11.11786316759
5050
timeout-minutes: 60
5151
needs: check_source
5252
if: needs.check_source.outputs.run_tests == 'true'
@@ -76,7 +76,7 @@ jobs:
7676
# Check for changes in regenerated files
7777
if test -n "$changes"; then
7878
echo "Generated files not up to date."
79-
echo "Perhaps you forgot to run make regen-all or build.bat --regen. ;)"
79+
echo "Perhaps you forgot to run make regen-configure ;)"
8080
echo "configure files must be regenerated with a specific version of autoconf."
8181
echo "$changes"
8282
echo ""
@@ -88,7 +88,7 @@ jobs:
8888
name: 'Check if generated files are up to date'
8989
# Don't use ubuntu-latest but a specific version to make the job
9090
# reproducible: to get the same tools versions (autoconf, aclocal, ...)
91-
runs-on: ubuntu-22.04
91+
runs-on: ubuntu-24.04
9292
timeout-minutes: 60
9393
needs: check_source
9494
if: needs.check_source.outputs.run_tests == 'true'
@@ -237,7 +237,7 @@ jobs:
237237
strategy:
238238
fail-fast: false
239239
matrix:
240-
os: [ubuntu-22.04]
240+
os: [ubuntu-24.04]
241241
openssl_ver: [3.0.15, 3.1.7, 3.2.3, 3.3.2]
242242
env:
243243
OPENSSL_VER: ${{ matrix.openssl_ver }}
@@ -297,7 +297,7 @@ jobs:
297297

298298
test_hypothesis:
299299
name: "Hypothesis tests on Ubuntu"
300-
runs-on: ubuntu-22.04
300+
runs-on: ubuntu-24.04
301301
timeout-minutes: 60
302302
needs: check_source
303303
if: needs.check_source.outputs.run_tests == 'true' && needs.check_source.outputs.run_hypothesis == 'true'
@@ -417,7 +417,7 @@ jobs:
417417
if: needs.check_source.outputs.run_tests == 'true'
418418
strategy:
419419
matrix:
420-
os: [ubuntu-22.04]
420+
os: [ubuntu-24.04]
421421
env:
422422
OPENSSL_VER: 3.0.15
423423
PYTHONSTRICTEXTENSIONBUILD: 1

.github/workflows/jit.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,8 @@ jobs:
131131
brew update
132132
find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete
133133
brew install llvm@${{ matrix.llvm }}
134-
SDKROOT="$(xcrun --show-sdk-path)" \
135-
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }}
134+
export SDKROOT="$(xcrun --show-sdk-path)"
135+
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }}
136136
make all --jobs 4
137137
./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
138138

.github/workflows/posix-deps-apt.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ apt-get -yq install \
1313
libgdbm-dev \
1414
libgdbm-compat-dev \
1515
liblzma-dev \
16-
libmpdec-dev \
1716
libncurses5-dev \
1817
libreadline6-dev \
1918
libsqlite3-dev \

.github/workflows/reusable-tsan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ on:
2121
jobs:
2222
build_tsan_reusable:
2323
name: 'Thread sanitizer'
24-
runs-on: ubuntu-22.04
24+
runs-on: ubuntu-24.04
2525
timeout-minutes: 60
2626
steps:
2727
- uses: actions/checkout@v4

.github/workflows/reusable-ubuntu.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
strategy:
2121
fail-fast: false
2222
matrix:
23-
os: [ubuntu-22.04]
23+
os: [ubuntu-24.04]
2424
env:
2525
FORCE_COLOR: 1
2626
OPENSSL_VER: 3.0.15

.github/workflows/reusable-wasi.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ jobs:
1111
build_wasi_reusable:
1212
name: 'build and test'
1313
timeout-minutes: 60
14-
runs-on: ubuntu-22.04
14+
runs-on: ubuntu-24.04
1515
env:
1616
WASMTIME_VERSION: 22.0.0
1717
WASI_SDK_VERSION: 24
1818
WASI_SDK_PATH: /opt/wasi-sdk
1919
CROSS_BUILD_PYTHON: cross-build/build
20-
CROSS_BUILD_WASI: cross-build/wasm32-wasi
20+
CROSS_BUILD_WASI: cross-build/wasm32-wasip1
2121
steps:
2222
- uses: actions/checkout@v4
2323
# No problem resolver registered as one doesn't currently exist for Clang.
@@ -31,7 +31,7 @@ jobs:
3131
with:
3232
path: ${{ env.WASI_SDK_PATH }}
3333
key: ${{ runner.os }}-wasi-sdk-${{ env.WASI_SDK_VERSION }}
34-
- name: "Install WASI SDK"
34+
- name: "Install WASI SDK" # Hard-coded to x64.
3535
if: steps.cache-wasi-sdk.outputs.cache-hit != 'true'
3636
run: |
3737
mkdir ${{ env.WASI_SDK_PATH }} && \

Doc/c-api/allocation.rst

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@ Allocating Objects on the Heap
1515
.. c:function:: PyObject* PyObject_Init(PyObject *op, PyTypeObject *type)
1616
1717
Initialize a newly allocated object *op* with its type and initial
18-
reference. Returns the initialized object. If *type* indicates that the
19-
object participates in the cyclic garbage detector, it is added to the
20-
detector's set of observed objects. Other fields of the object are not
21-
affected.
18+
reference. Returns the initialized object. Other fields of the object are
19+
not affected.
2220
2321
2422
.. c:function:: PyVarObject* PyObject_InitVar(PyVarObject *op, PyTypeObject *type, Py_ssize_t size)

Doc/c-api/long.rst

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,39 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate.
582582
.. versionadded:: 3.14
583583
584584
585+
.. c:function:: int PyLong_IsPositive(PyObject *obj)
586+
587+
Check if the integer object *obj* is positive (``obj > 0``).
588+
589+
If *obj* is an instance of :c:type:`PyLongObject` or its subtype,
590+
return ``1`` when it's positive and ``0`` otherwise. Else set an
591+
exception and return ``-1``.
592+
593+
.. versionadded:: next
594+
595+
596+
.. c:function:: int PyLong_IsNegative(PyObject *obj)
597+
598+
Check if the integer object *obj* is negative (``obj < 0``).
599+
600+
If *obj* is an instance of :c:type:`PyLongObject` or its subtype,
601+
return ``1`` when it's negative and ``0`` otherwise. Else set an
602+
exception and return ``-1``.
603+
604+
.. versionadded:: next
605+
606+
607+
.. c:function:: int PyLong_IsZero(PyObject *obj)
608+
609+
Check if the integer object *obj* is zero.
610+
611+
If *obj* is an instance of :c:type:`PyLongObject` or its subtype,
612+
return ``1`` when it's zero and ``0`` otherwise. Else set an
613+
exception and return ``-1``.
614+
615+
.. versionadded:: next
616+
617+
585618
.. c:function:: PyObject* PyLong_GetInfo(void)
586619
587620
On success, return a read only :term:`named tuple`, that holds

0 commit comments

Comments
 (0)