Commit Graph

180 Commits

Author SHA1 Message Date
rdb 828f1c10ca Support loading Opus audio files via libopusfile. 2017-05-24 22:21:54 +02:00
rdb a387fb9f35 interrogate: nullptr handling, faster kwargs handling in some cases 2017-05-14 22:19:25 +02:00
rdb 652f2d7f21 bullet: improve performance of adding geometry to BulletTriangleMesh 2017-05-14 22:17:41 +02:00
rdb 160f652d58 text: use HarfBuzz for text shaping; support right-to-left text 2017-04-25 12:25:31 +02:00
rdb e1c916cdc3 interrogate: handle implicit destructors correctly 2017-04-02 14:44:51 +02:00
rdb f5f51c5d5b Remove OpenSSL includes from headers, so C++ users don't need to have OpenSSL 2017-02-17 16:15:04 +01:00
rdb 4ed199cece Fix various compile warnings and a few code consistency issues 2017-01-09 20:36:53 +01:00
rdb ba5bba42b0 Fix interrogate warnings, flesh out iterator header 2017-01-08 17:51:09 -05:00
rdb b0a8408755 Fix issue with Windows build 2016-11-04 00:49:04 +07:00
tobspr c0fd29d822 Add functional header to parser-inc (#126)
* Support for the functional header

* Add unordered_map and initializer_list

* Add unordered_set header

* Fix spacing, and remove unecessary defines

* Add missing definitions to memory header

* Use variadic templates in functional header
2016-11-03 14:08:25 +01:00
rdb 22f0b50851 More Interrogate C++11 support changes:
* Parse variadic templates
 * Add (incomplete) type_traits support
 * Parse anonymous class template params
 * Parse volatile/lvalue/rvalue methods
 * Don't generate destructor for indestructible types
 * Add xmmintrin.h header
 * Allow invoking extensions with references
2016-11-03 12:17:11 +01:00
tobspr 50e8d5d08d Update stdint.h
This adds missing definitions from the standard library header ` stdint.h` to the interrogate header.
I also changed the `typedef` to the C++11 style `using`.

Closes: #125
2016-10-31 22:34:47 +01:00
rdb 47388b0dbc Separate out CPython calls from core libs; eliminate need for pystub 2016-07-20 14:30:41 +02:00
rdb 7e08b87ff7 IPv6 support, improve URL handling/comparison 2016-06-22 17:57:40 +02:00
rdb dc09e28ed9 Also accept a .gz wherever a .pz file is accepted 2016-04-29 16:54:25 +02:00
rdb 2c1cb4c313 Compile fixes for latest VRPN and TIFF 2016-04-22 17:18:27 +02:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb 186f1b41b2 Fix for PDWORD_PTR 2016-02-16 11:24:42 +01:00
rdb caa03c53dd Interrogate cppparser improvements, C++11/14/17 additions:
* Support trailing return type.
 * Ignore C++14 digit separators.
 * Parse C++14 binary number representations.
 * Support "using"-style type aliases.
 * Support decltype and auto with "new".
 * Remove silly "long float" and "long long float".
 * Support default visibility with class inheritance.
 * Remove -longlong hack since C++11 supports long long natively.
 * Support unary plus operator.
 * Preserve bitfield definitions.
 * Support constructor inits using braces.
 * Support override/final specifiers.
 * Ignore [[attributes]] in certain cases
 * Add support for typeid() in expressions
 * Parse (but ignore) lambda expressions
 * Differentiate between casts, add const_cast/reinterpret_cast
 * Support thread_local variables.
2016-02-16 01:18:51 +01:00
rdb 090e912ce6 Cleanup of comments and whitespace 2016-02-01 22:30:43 +01:00
tobspr a9e18f9d24 Improve Vector implementations: - Remove unecessary assignment operators - Add normalize() method - Use properties for certain swizzle masks - Add constexpr where appropriate 2016-01-03 22:02:00 +01:00
rdb 83ed206551 Support implicitly generated copy constructor and default constructor in interrogate 2016-01-03 21:55:50 +01:00
rdb db3ab953e4 Remove ppremake, genPyCode, and all hacks created to support them 2015-11-09 19:06:49 +01:00
rdb ebd1fd8462 Fix interrogate warnings on Windows. Show warnings when running makepanda in verbose mode. 2015-10-17 03:27:38 +02:00
rdb 94b48d568f Pre-C++11 compilers don't seem to like std::time_t 2015-10-16 15:51:16 +02:00
rdb 920210c999 Fix the vast majority of Interrogate parse issues and warnings, add support for inline namespace and constexpr 2015-10-16 14:57:40 +02:00
rdb 6a0c98d54e Work around strange interrogate issues 2015-10-13 15:40:48 +02:00
rdb b65ad853fe Support C++11/14 features: nullptr, decltype, unicode literals, custom literals, alignof 2015-10-12 23:32:50 +02:00
rdb 51ebc564aa Provide stub implementations of several C/C++ standard headers, to make parsing thirdparty sources significantly easier 2015-10-11 16:55:46 +02:00
rdb 30a26bc530 Match up interrogate standard typedefs better with gcc/msvc standard typedefs 2015-09-30 16:07:37 +02:00
rdb 036adff924 Merge branch 'release/1.9.x' 2015-09-30 14:07:21 +02:00
rdb a902f1628b Fix Win64 compilation 2015-09-28 13:25:17 +02:00
rdb fcd3bfd15c Fix interrogate issues with long, streampos, streamoff, streamsize and ptrdiff_t 2015-09-28 13:08:38 +02:00
rdb 9178ed2871 Fix some preprocessor expressions in Interrogate 2015-07-14 21:04:50 +01:00
rdb 7026854cc2 Fixes to get the C binding generator to work 2015-07-05 16:07:08 +02:00
rdb 11ed8a4d8d Use dynamic type lookup for interrogate to eliminate inter-module dependencies
It is now no longer necessary to link to core.pyd
Also includes a slight coercion optimization for trivial types
2015-06-06 19:36:40 +02:00
rdb cc62e731b7 Fix compilation with ppremake 2015-06-01 00:21:32 +02:00
rdb 16e7831566 Remove executable permissions from files that don't need them 2015-04-05 15:41:49 +02:00
rdb b63d5fbe8c Support cyclic garbage collection through PythonTask objects 2015-03-15 12:24:06 +01:00
rdb da3f642902 Various interrogate improvements 2015-02-27 15:01:42 +01:00
rdb 9513046e59 Various substantial changes to Interrogate:
* Allow arbitrary selection of optional keyword arguments in some cases
* Reduce code bloat of generated bindings
* Work around awkward resolution of set_shader_input overloads
* Document the code a bit better
* Make coercion a bit cleaner for reference counted types
* A few optimization tweaks
* Use generic errors in NDEBUG build to reduce size of string pool
2015-02-15 13:48:13 +01:00
rdb 5e905d4463 Fix various parser bugs, improve error reporting
(to show the included file chain -vv is now needed)
2015-01-04 20:30:24 +01:00
rdb 6db5d0dc11 Huge cppparser and interrogate overhaul, bringing:
* Better support for typedefs
* Same code should compile for both 32-bit and 64-bit
* C++11 typed enum support
* Synthesize __setitem__ when operator [] returns reference
* Rewrite coerce system to have better performance
* Change semantics of __getattr__ and __setattr__ to match
  Python's, add __getattribute__, __delattr__ and __delitem__
* Improve performance of slot functions a bit more
* Reduce memory overhead of type system
* Some support for wrapping arrays of numeric types
* C++11 character type support in cppparser
* Chars are handled as strings of length 1
* Template functions for CreatePyInstance that use runtime type map
* More functions from dtool as extension functions
* Code cleanup
2014-12-30 16:43:52 +01:00
rdb 0a84dd9ca3 Android fixes 2014-10-06 17:44:58 +00:00
rdb 24386cdc1e Use a table to make InternalName::make more efficient for Python interned strings 2014-10-02 18:28:06 +00:00
rdb c257ce624e Interrogate overhaul that dramatically increases performance for the simpler methods 2014-07-18 13:54:38 +00:00
rdb 31a192f27b Fix interrogate understanding of PY_VERSION_HEX 2014-03-09 11:43:08 +00:00
rdb cc3bae7e76 Big interrogate cleanup, new extension system, add __iter__ support, add buffer protocol support 2013-09-17 10:11:43 +00:00
rdb 41d851db86 for some reason ppremake needs these files to be here 2013-08-25 17:30:29 +00:00
rdb d58924c280 add OculusVR and ogg/vorbis headers in anticipation of their support 2013-08-25 17:18:02 +00:00