rdb
cdafd81764
Fix compilation issues with Python 3.13
2024-09-19 15:47:50 +02:00
rdb
78ace53dbe
dtoolutil: Fix typo in pfstream causing compiler warning
2024-08-14 19:08:49 +02:00
rdb
ddaeb05367
Fix compilation when building without bison
2024-08-14 19:08:16 +02:00
rdb
8c8cbeea98
linmath: For repr, use as much precision as needed for roundtrip
...
Will use as few digits as is necessary to ensure that round-tripping the same number with pstrtod will result in the same vector. This prevents eg. 3.3 formatting as 3.29999995 while still ensuring that two floats that are not equal (other than nan) are guaranteed to have a different string representation.
Uses a hacky pftoa function that can be abandoned as soon as we adopt C++17, which has to_chars that does what we need
Fixes #1671
2024-08-07 17:24:11 +02:00
rdb
ca7ba4eab3
py_panda: Add Dtool_GetPyTypeObject macro
...
This is a cleaner, future-proof way of accessing a Panda type as PyTypeObject pointer
2024-08-07 15:53:27 +02:00
rdb
105f938d68
interrogate: Fix non-deterministic order of external import types
...
Fixes #1651
2024-05-28 11:11:21 +02:00
rdb
80147990cc
cppparser: Fix problems with recursive expansion in preprocessor
...
Other half of #1635
2024-03-26 15:55:50 +01:00
mingodad
685b98021c
cppparser: Skip comments after preprocessor directive
...
See #1635
2024-03-26 15:54:33 +01:00
rdb
0ce7215ee9
interrogate: Fix typo in code
...
Fixes #1627
[skip ci]
2024-03-12 15:10:14 +01:00
rdb
b49dbaca2b
Report errors if calls to `close()` fail
2024-01-25 12:33:20 +01:00
rdb
7926a3a929
interrogate: Fix some pointless code generation case
...
Some cases of eg. inplace ternary operator would needlessly construct and then immediately destruct a tuple
2024-01-05 14:52:52 +01:00
rdb
37c9e58ea0
interrogate: Fix handling of RF_self / inplace binary operator
2024-01-05 14:32:26 +01:00
rdb
46e662bd8e
interrogate: Add cleverness to avoid writing out dead code
...
Hopefully fixes GCC 13 compile regression, see #1580
2024-01-05 13:56:02 +01:00
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
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
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
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