Commit Graph

3183 Commits

Author SHA1 Message Date
rdb 96b2f3a4d5 CMake: Split out Objective-C++ flags on macOS to fix crash
This now requires CMake 3.16

This is a similar fix as 987f2f036b but for CMake
2023-05-08 20:00:39 +02:00
rdb 75abee73e2 CMake: Disable FMOD Ex on macOS
There's no version of FMOD Ex that isn't linked against libstdc++.6.dylib, which is no longer available in the SDKs
2023-05-08 19:59:50 +02:00
rdb 600fa45d6e CMake: Fix typo in CMAKE_CXX_FLAGS variable on MSVC 2023-05-08 19:59:15 +02:00
rdb 4bb6d8f6d8 interrogate: Additional string table size reductions for NDEBUG 2023-03-09 11:24:31 +01:00
rdb 05436a749f Merge branch 'release/1.10.x' 2023-03-09 11:23:19 +01: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
Disyer 108b317327 dtoolutil: Fix _MSC_VER macros that should be _WIN32 2023-02-26 11:50:41 +02:00
rdb 0a7be36be1 parser-inc: Add stub header for sys/sysctl.h for BSD (incl. macOS) 2023-02-22 17:33:49 +01:00
rdb eefb51f510 dtoolutil: Add small_vector implementation and use it
This vector implementation does is optimized for the case of having only a small number of elements, which are stored directly on the vector object rather than being allocated from the heap.  If the capacity exceeds this small number, then a heap allocation is done.

This should improve performance in a couple of cases where vectors typically store 1 element and rarely more than that.
2023-02-22 16:48:11 +01:00
rdb 72d610b8ae dtoolbase: Fix compiler warnings in MemoryHook 2023-02-22 16:47:14 +01:00
rdb f4d394ecd8 prc: Reorder ConfigDeclaration::Word fields for better packing 2023-02-20 22:24:12 +01:00
rdb 5e24e7347c cppparser: Implement is_trivially_copyable type trait 2023-02-20 21:04:36 +01:00
rdb 5e26aae1ff cleanup: Fix assorted issues uncovered by clang-tidy 2023-02-12 18:17:03 +01:00
rdb 1c37522026 Merge branch 'release/1.10.x' into master 2023-02-12 14:07:49 +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
Disyer af4a1bc7a9 python: Use public PyErr_Occurred API instead of private macro
The _PyErr_OCCURRED macro was removed in Python 3.10, so we shouldn't keep any compat code left around for it
2023-02-12 02:36:57 +02:00
rdb 1867094afe Bump version number on release/1.10.x branch to 1.10.14 2023-01-09 13:25:26 +01:00
Frang 275fe32079
create PY_EXTENSION and friends (#1415) 2023-01-04 20:54:53 +01:00
rdb 2d606c07e3 dtoolbase: Remove unused `get_best_parent_from_Set()`
This method is no longer used as of e6f870ece6

Fixes #1421
2023-01-03 23:09:35 +01:00
Cary Sandvig 3247903d7b add more HAVE_PYTHON
Also add some more #endif comments.
2022-12-23 13:38:46 -05:00
rdb fdcfaf69b0 interrogate: Optimizate creating Python wrapper instances
Fewer function pointer calls by moving the wrapper creation logic to the downcast function

This also paves the way for some classes to have custom wrapper creation logic
2022-12-15 20:25:48 +01:00
rdb e1b4083d6d Merge branch 'release/1.10.x' 2022-12-12 17:19:10 +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 c82f95ad6b Merge branch 'release/1.10.x' 2022-12-06 20:02:35 +01:00
rdb 32f9054067 prc: Add `ConfigVariableFilename.__fspath__()`
Fixes #1406
2022-12-06 12:52:44 +01:00
Disyer 7e4cf28f27 dtool: Upgrade default encryption algorithm to AES-256 (#1337)
The Blowfish cipher is no longer available on OpenSSL 3.x by default. It requires enabling the legacy cipher suite, which is compiled separately from the main OpenSSL library. AES-256 is a good replacement cipher that has hardware support in most newer computers. AES-256 is also available in OpenSSL 1.0.2.
2022-12-04 19:28:29 +01:00
rdb 7a55c723ba Merge branch 'release/1.10.x' 2022-12-04 19:28:03 +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 550aad7024 Fix some uses of `AtomicAdjust::Pointer` to use `patomic<T *>` 2022-12-04 00:36:41 +01:00
rdb 05b3fe2170 dtoolbase: Use `patomic<size_t>` for memory usage counters 2022-12-03 22:42:03 +01:00
rdb 82522a7bef dtoolbase: Fix compile error in patomic.I with HAVE_THREADS=UNDEF 2022-12-03 21:53:02 +01:00
rdb 0421ee31b3 Merge branch 'release/1.10.x' 2022-12-01 12:59:27 +01:00
rdb 20459118e2 dtoolutil: Add XDG_STATE_HOME on Linux 2022-12-01 12:56:45 +01:00
rdb a5610f217e Merge branch 'release/1.10.x' into incoming 2022-11-29 20:58:51 +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 e09f78b987 interrogate: Do not consider `make()` with explicit kwargs for coercion
Unless this parameter has a default value
2022-11-07 18:05:34 +01:00
rdb 68111b2c42 Merge branch 'release/1.10.x' 2022-11-07 18:05:03 +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 a1105f0f96 dxml: Remove TinyXML bindings
This isn't used anywhere in the Panda source anymore, and is considered out-of-scope for Panda.  Python users can use the XML parsing library that's shipped with the Python source (or any other one on PyPI), and C++ users can just pull TinyXML into their projects directly.

If there really is a strong call to bring this back, I'd rather do it as an external package.

Closes #1379
2022-11-03 13:45:22 +01:00
rdb 316b0009ae Merge branch 'release/1.10.x' 2022-10-31 23:10:39 +01:00
rdb d8a537b59b dtoolbase: Add comment clarifying assertion in DeletedBufferChain
[skip ci]
2022-10-31 19:26:59 +01:00
rdb 9768cbb6c2 Merge branch 'release/1.10.x' 2022-10-25 16:44:24 +02: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 bf65624298 dtoolbase: Make MemoryHook constant-initialized
init_memory_hook() is no longer required, eliminating static initialization order issues

This required moving the DeletedBufferChain map elsewhere, which now also has a const-initialized array for relatively small allocations.

Also, deletedChain.T has been renamed to deletedChain.I

Fixes #539
2022-10-24 13:26:03 +02:00
rdb 7f707de384 interrogate: rename `operator [] =` to `operator []=` 2022-10-24 13:24:30 +02:00
rdb a28b641bf3 interrogatedb: Indicate whether types/function wrappers are deprecated 2022-10-24 13:24:20 +02:00
rdb dd262c6715 cppparser: Properly record C++11 attributes 2022-10-24 13:23:05 +02:00
rdb dd662a6eaa cppparser: Fix syntax error with C++11 attributes in declarators 2022-10-23 17:01:02 +02:00