Commit Graph

2585 Commits

Author SHA1 Message Date
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
rdb a7042091be py_panda: backport some py_compat.h definitions 2021-01-01 16:37:21 +01:00
rdb 99f9352e76 interrogate: improvements to __setstate__ handling:
* Force single arg variant, easing argument parsing
* Allow defining __setstate__ taking multiple args, leading to tuple unpack
* Allow __setstate__ to be called on already initialized object (useful with __reduce__)
2021-01-01 15:57:41 +01:00
rdb 3e1d4aa6b5 interrogate: Fix memory leak in __setstate__ 2020-12-31 18:12:52 +01:00
rdb 1793c9a938 interrogate: Fix __setstate__ not working for subclasses 2020-12-31 18:11:50 +01:00
rdb 7d5fee3066 Update version number on release/1.10.x branch to 1.10.9 2020-12-29 12:50:02 +01:00
rdb 1b8c4e0029 dtoolutil: Fix compile warning in ExecutionEnvironment 2020-12-22 23:14:59 +01:00
rdb 30bca7a119 dtoolutil: fix ExecutionEnvironment::has_environment_variable() for shadowed var
Fixes MAIN_DIR being set more than once (which seems to avoid a compiler bug in an opt4 build).
2020-12-22 16:22:45 +01:00
rdb 74983d19a4 dtoolbase: Fix small memory leak in NeverFreeMemory
It's using a set purely keyed by number of remaining bytes, so if there are two pages with the exact same number of remaining bytes, one of them gets lost.

See #1077
2020-12-20 00:19:37 +01:00
rdb 951c182c0e makepanda: Preparatory changes for Big Sur / arm64 builds 2020-11-30 19:46:20 +01:00
rdb 93900a203e putil: Backport part of 9d8c523dfa
Fixes #886
2020-11-17 23:36:06 +01:00
rdb a6e6826939 interrogate: support __getstate__ and __setstate__
The latter in particular will be called instead of __init__, so must construct the object.
2020-11-17 22:35:25 +01:00
rdb 0e70fcf1ef Bump version number on release/1.10.x branch to 1.10.8 2020-10-02 12:15:31 +02:00
rdb 5655e97ec1 interrogate: fix misbehaving == and != operator if only < is defined
Fixes comparison of two empty RenderEffects objects
2020-09-16 23:21:16 +02:00
rdb 2b3a1d9d73 prc: StreamReader should hold GIL for PyBytes_FromStringAndSize
This is due to python/cpython#21074, which causes a segfault in the latest Python master when creating a bytes object of size 0.

readlines() has been reimplemented to use a C++ vector in order to prevent constantly re-locking and unlocking the GIL for every line.
2020-09-12 22:53:37 +02:00
rdb 2402594808 interrogatedb: Fix faulty version comparison in Python 3.10 2020-09-12 22:50:29 +02:00
rdb dabab90415 interrogate: Fix compilation error of bindings with Python 3.9+ 2020-09-12 22:50:03 +02:00
rdb 3daf1ae1b1 general: Assorted API reference fixes 2020-09-09 18:03:49 +02:00
rdb ab6bf5f4f7 general: Add workaround for Windows bug in various uses of isprint()
See #994; there is a regression in certain versions of the Windows CRT that gives the wrong result for isprint().  This adds workarounds to various potentially affected locations where isprint() is being used.
2020-08-21 14:51:42 +02:00
LD 9f0fc0a594 dtoolbase: Fix bad double-prec NaN/inf detection in release build
Fixes #987
Closes #988
2020-08-17 12:16:33 +02:00
rdb 0b19afa1a3 parser-inc: fix invalid template args for std::map<>
This fixes an interrogate warning.
2020-06-15 15:20:38 +02:00
rdb f295b28369 cppparser: update prebuilt cppBison files 2020-06-14 12:20:40 +02:00
rdb 16f2958adb cppparser: support sizeof operator with constexpr 2020-06-14 12:12:27 +02:00
rdb 43961718fa parser-inc: add missing template args to std containers 2020-06-14 12:11:42 +02:00
rdb 97e6a314b1 cppparser: support arbitrary constant expression in bitfields 2020-06-14 11:31:58 +02:00
rdb 9159fc1029 operator delete should check for null pointer before deallocating
It is a pervasive belief that using "delete" with a null pointer is safe, so our custom delete operators should also handle this case correctly.

This may fix regressions introduced by #934
2020-05-05 18:13:13 +02:00