Commit Graph

2610 Commits

Author SHA1 Message Date
Mitchell Stokes 893f5ce492 Fix assert on Py_SIZE(long) when using Python 3.12
Starting with Python 3.12, passing a PyLong into Py_SIZE() triggers an
assertion. PyLong (and the whole C API) is transitioning to be more
opaque and expose fewer implementation details.
2023-10-13 10:54:33 +02:00
rdb 3160d7f3e9 py_panda: Don't use _PyUnicode_EqualToASCIIString in Python 3.13+
See #1523
2023-08-03 22:22:45 +02:00
rdb 8cbf93162a cppparser: Backport enum scope fix to 1.10
From bc039a0476
2023-08-02 12:40:37 +02:00
rdb c958919037 Make API documentation for Filename and VirtualFileSystem clearer
Mention specifically that Filename methods act on the physical disk whereas VirtualFileSystem methods act on the VFS

Fixes #1493

[skip ci]
2023-05-08 11:19:03 +02:00
rdb 5d833c988a interrogate: Support explicit `cls` parameter for static methods 2023-05-05 10:55:06 +02:00
rdb 68927cad0b interrogate: Code size reduction for generated wrappers
No need to have a separate entry in the string table for every possible class for this uncommon error message
2023-03-09 11:00:36 +01:00
rdb aaabb6a652 Fix assorted issues uncovered by clang-tidy 2023-02-12 13:55:59 +01:00
rdb a9e9cfae1c py_panda: Fix definition of _PyErr_OCCURRED for Python >3.12.0a5
It should not be redefined for Python versions after 3.3.3, and if it's not defined by Python, it should just map to PyErr_Occurred()

See also #1457
2023-02-12 13:22:16 +01:00
rdb 1867094afe Bump version number on release/1.10.x branch to 1.10.14 2023-01-09 13:25:26 +01:00
rdb a9e5d84d27 notify: Fix crash when using set_ostream_ptr from Python
Also allow passing in None

Fixes #1371 (and maybe also #319)
2022-12-09 17:34:27 +01:00
rdb 32f9054067 prc: Add `ConfigVariableFilename.__fspath__()`
Fixes #1406
2022-12-06 12:52:44 +01:00
rdb d621df47ac prc: Fix bf-cbc encryption/decryption regression with OpenSSL 3.0
Loads the legacy provider to continue supporting this algorithm
2022-12-04 19:22:26 +01:00
rdb 20459118e2 dtoolutil: Add XDG_STATE_HOME on Linux 2022-12-01 12:56:45 +01:00
rdb 5aad1d8404 interrogate: Change error message to mention interrogate
This makes it more obvious that the error is coming from interrogate when encountering a parse error in a build log
2022-11-29 20:14:33 +01:00
rdb 50cfdebd9c pstats: Integrate Python profiler with PStats
Enabled with `pstats-python-profiler 1`, requires recent version of PStats server.

Currently, it is limited to the main thread only.  Support for other threads may be added at a later date.
2022-11-29 16:00:09 +01:00
rdb 11746457ff interrogate: Fix invalid syntax for `make()` coerce ctor with kwargs
[skip ci]
2022-11-07 18:03:41 +01:00
rdb d8a537b59b dtoolbase: Add comment clarifying assertion in DeletedBufferChain
[skip ci]
2022-10-31 19:26:59 +01:00
rdb 9a53a3bf31 cppparser: Fix an instance of pvector being used instead of `std::vector`
Also see #539 (but doesn't fully resolve this case because DSearchPath also uses pvector)

[skip ci]
2022-10-24 13:43:29 +02:00
rdb dd662a6eaa cppparser: Fix syntax error with C++11 attributes in declarators 2022-10-23 17:01:02 +02:00
rdb bb8b08a690 interrogatedb: Add `interrogate_wrapper_is_extension()` function 2022-10-20 10:09:45 +02:00
rdb 25d11b3b17 interrogatedb: Add more query functions for seq/map elements 2022-10-19 16:04:37 +02:00
rdb 834be5c7a0 interrogate: Fix some badly formatted code 2022-10-10 15:10:53 +02:00
rdb e6036b5209 interrogatedb: More queries for function wrappers:
- `interrogate_wrapper_function(wrapper)`
- `interrogate_wrapper_is_copy_constructor(wrapper)`
- `interrogate_wrapper_is_coerce_constructor(wrapper)`
2022-10-10 15:09:28 +02:00
DJs3000 f6fac95a78 Added e2k support (MCST Elbrus 2000) (#1367)
Closes #1367
2022-10-03 18:29:41 +02:00
Paul m. p. P 590531a0b2 py_panda: Fix compilation issue with Python 3.11
(Cherry-picked from 833ad89eba)
2022-09-01 19:18:46 +02:00
WMOkiishi 813490b2c7 interrogatedb: Add functions to interrogate_interface.h:
- `interrogate_function_is_unary_op`
- `interrogate_function_is_operator_typecast`
- `interrogate_type_is_array`
- `interrogate_type_array_size`

Closes #1362
2022-08-31 11:56:10 +02:00
rdb cb400b5e17 interrogatedb: Add functions to obtain getters of make-seqs 2022-07-24 21:37:44 +02:00
rdb 3d55945535 interrogatedb: Add new functions to interrogate_interface.h:
- `interrogate_function_is_constructor()`
- `interrogate_function_is_destructor()`
- `interrogate_wrapper_parameter_is_optional()`
- `interrogate_wrapper_parameter_is_scoped_enum()`
- `interrogate_wrapper_parameter_is_final()`

Only `interrogate_wrapper_parameter_is_optional()` requires a rebuild of the database with the new changes.
2022-05-10 15:58:34 +02:00
rdb 6ab6acfbaf interrogate: Do not write wrappers taking rvalue reference to interrogatedb
These are not actually exported by the Python binding generator anyway
2022-05-10 15:58:34 +02:00
rdb 42a19860d5 Fix errors when compiling headers with MinGW 2022-05-10 15:58:33 +02:00
rdb fbea0056f5 general: Allow compiling Panda headers on Windows without NOMINMAX 2022-05-10 15:58:33 +02:00
rdb 70415af210 dtoolutil: Set system malloc tag to mimalloc when enabled 2022-03-01 15:12:38 +01:00
rdb a37dfa727e makepanda: Support building with mimalloc on Windows, experimentally
Partial backport of 07545bc9e3 for Windows, requires building with `--override USE_MEMORY_MIMALLOC=1 --override USE_DELETED_CHAIN=UNDEF` for optimum effect
2022-02-06 15:29:25 +01:00
rdb 14bdcf40fb Bump version number on release/1.10.x branch to 1.10.12 2022-01-12 10:22:52 +01:00
Stephen A. Imhoff 64345c71b6 Update version number on release/1.10.x branch to 1.10.11 2021-10-14 20:15:51 +02:00
rdb 1fe5632ce2 interrogatedb: Fix compilation error on Windows due to typo 2021-08-30 21:37:54 +02:00
rdb 4a33e8866e dtoolbase: Add missing overloads for std::round on macOS 10.6 2021-08-04 13:35:27 +02:00
rdb 2a5b5030ba dtoolbase: Fix ability to use std::round() compiling for macOS 10.6 2021-08-04 13:18:43 +02:00
rdb addbc8a2e8 dtoolutil: Work around odd Linux bug with lseek on a directory fd
Fixes #1140
2021-04-08 12:07:00 +02:00
rdb f3181bf684 Update version number on release/1.10.x branch to 1.10.10 2021-03-31 17:26:06 +02:00
rdb bdb2ef1631 pipeline: Fix crash upon exception in custom thread
We can't call PyErr_Restore() without a valid thread state, which won't exist in a custom thread if we just called PyGILState_Release().  Not sure how this has ever worked.
2021-03-01 16:19:53 +01:00
rdb eab1308438 interrogate: Fix bug sorting overloads of AsyncFuture::set_result() 2021-03-01 10:59:02 +01:00
rdb 4b24ac86a5 dtoolbase: Fix issues building with C++20 2021-03-01 10:16:03 +01:00
rdb 9d9337dc4d dtoolutil: Fix Filename division operator in Python 3 2021-02-22 18:14:12 +01:00
rdb 601ca323f5 interrogate: Support __truediv__, __floordiv__, etc. special methods 2021-02-22 18:13:34 +01:00
rdb 08f344b00c dtool: Fix memory leak in OEncryptStream/IDecryptStream
Fixes #1114
2021-02-16 11:33:39 +01:00
rdb 4dfe651133 prc: Fix istream/ostream/iostream properties of StreamWrapper 2021-02-15 11:13:33 +01:00
rdb c89631488b prc: Add properties to ConfigPageManager 2021-02-05 23:51:25 +01:00
rdb 54638bfc10 dtoolutil: Allow overriding PandaSystem::get_build_date()
This is useful to create bit-for-bit reproducible builds.  In the buildbots, we set it to the timestamp of the latest commit.
2021-01-18 16:41:22 +01:00
rdb 0b53355347 interrogate: respect SOURCE_DATE_EPOCH setting for file identifiers
This can be used to ensure that the build is bit-for-bit reproducible.

See https://reproducible-builds.org/docs/source-date-epoch/
2021-01-18 02:34:16 +01:00