rdb
247f3c415a
Merge branch 'release/1.10.x'
2019-10-08 19:50:48 +02:00
rdb
fb5440bd07
cppparser: hack fix for method defs in parentheses
2019-10-08 19:43:34 +02:00
rdb
657af0edb5
cppparser: don't expand function-style macro if not followed by (
2019-10-07 18:38:21 +02:00
Sam Edwards
5fa4af9189
CMake: Rely on GNUInstallDirs to specify install paths
...
This makes multiarch OSes happy as they can dictate that
64-bit libraries go into 'lib64'
2019-08-31 00:48:42 -06:00
Sam Edwards
19ed9f6b47
Merge branch 'master' into cmake
2019-08-24 18:07:12 -06:00
rdb
0e4597fb2e
cppparser: fix finding types in explicitly specialized template class
2019-08-23 13:15:36 +02:00
Sam Edwards
6097d34ead
CMake: Neatly format everything for readability and consistency
2019-04-14 22:37:18 -06:00
Sam Edwards
3b194c75e4
Merge branch 'master' into cmake
2018-12-28 22:15:44 -07:00
rdb
a9d6d3be46
interrogate: refactor default argument handling
2018-12-26 22:47:14 +01:00
Sam Edwards
99fee1a64d
CMake: Assign COMPONENT and EXPORT to all targets
2018-12-06 17:48:44 -07:00
Sam Edwards
62f7aabe91
Merge branch 'master' into cmake
2018-11-01 22:33:04 -06:00
rdb
2ed4cd7ce6
cppparser: fix CPPStructType::is_trivial() for eg. ButtonHandle
2018-10-29 16:08:29 -06:00
Sam Edwards
208ecd6708
Merge branch 'master' into cmake
2018-09-02 16:06:41 -06:00
rdb
5da8b63a66
cppparser: fix formatting of typecast operator
2018-08-19 16:04:56 +02:00
Sam Edwards
2ab77d9a27
Merge branch 'master' into cmake
2018-08-14 21:59:45 -06:00
rdb
30721ba33b
cppparser: fix issues when parsing templated constructor definition
2018-07-31 14:05:08 +02:00
rdb
e191ee84f4
cppparser: class is not implicitly copyable if it has a move ctor
2018-06-30 21:38:45 +02:00
Sam Edwards
b2bfb31114
general: Remove `using std::*` from headers
...
Also remove most `using namespace std;` statements. The only one that remains is in py_panda.h.
Closes #350
Closes #335
2018-06-14 16:04:49 +02:00
Sam Edwards
c4126942f6
Merge branch 'master' into cmake
2018-06-10 02:29:21 -06:00
rdb
fa6d8b4b39
cppparser: fix class with array member not seen as copy-constructible
2018-06-09 10:29:34 +02:00
Sam Edwards
7790f8429d
general: Fully qualify header references into the std namespace
...
Closes #341
2018-06-07 10:35:12 +02:00
Sam Edwards
592a2e2d68
Merge branch 'master' into cmake
2018-06-06 13:18:12 -06:00
rdb
5582e174b6
cppparser: fix issue with typedefs to forward declared templates
...
I don't know if this is the right solution, but it does fix an issue accessing std::ios::openmode caused by the ios typedef being defined before ios_base is fully specified.
2018-06-04 17:30:02 +02:00
Sam Edwards
e2b4353800
general: Replace NULL (and 0 as pointer) with C++11 nullptr
...
Exceptions to this replacement are:
- .c files
- Headers included by a .c file
- stb_image.h
- dr_flac.h
- Strings
- Comments
2018-06-03 16:35:13 -06:00
rdb
e0245d2777
First step towards eliminating `using namespace std;` ( #335 )
2018-06-03 20:32:23 +02:00
rdb
db5dd98d33
general: further warning fixes, use -Wno-unused-variable if NDEBUG
...
Disabling unused variable checking is needed in NDEBUG builds because of the heavy use of temporary variables in asserts.
2018-05-30 22:51:04 +02:00
rdb
6b726fa697
general: fix various compiler warnings and issues exposed thereby
2018-05-30 11:09:35 +02:00
Sam Edwards
6efb07de93
Merge branch 'master' into cmake
2018-05-14 19:09:14 -06:00
rdb
6175e79c57
cppparser: fix infinite recursion stack overflow with enum classes
2018-05-06 22:21:24 +02:00
rdb
666591ff48
cppparser: fix compile warnings on MSVC
2018-05-06 22:19:33 +02:00
Sam Edwards
95785407a3
CMake: General whitespace fixes
...
- Remove trailing whitespace from ends of lines
- Convert tabs to (two) spaces
2018-04-20 02:30:04 -06:00
Sam Edwards
218d0e8ade
CMake: Build dtool metalibs as metalibs
2018-04-19 00:07:08 -06:00
Sam Edwards
eda119dac4
Merge branch 'master' into cmake
...
# Conflicts:
# .travis.yml
2018-02-04 17:12:51 -07:00
Sam Edwards
0d079e2b80
general: Remove execute modes from ordinary text files
2018-02-04 17:11:43 -07:00
rdb
69b3468b2c
interrogate: more improvements to seq/map wrappers
...
Gets rid of properties defined as both MAKE_SEQ_PROPERTY/MAKE_MAP_PROPERTY, which are just a bad idea. Instead, adds a way for map properties to define a separate "keys" interface.
Fixes : #203
2017-11-27 17:29:50 +01:00
rdb
483a491ed7
interrogate: simplify coercion code
...
This remove support for coercing non-ReferenceCounted types that are neither default-constructible nor move-assignable, but it turns out none of the classes we really need it for matches that.
It further cuts down on the amount of code that is being generated to support coercion in cases where it makes absolutely no sense.
2017-11-06 19:53:38 +01:00
rdb
dee8d83998
interrogate: fix regression with setter of MAKE_PROPERTY2
...
See also tobspr/RenderPipeline#86
2017-10-17 21:18:51 +02:00
rdb
bf190f7306
interrogate: support MAKE_MAP_PROPERTY
2017-10-09 00:02:46 +02:00
rdb
d1c34c3360
interrogate: support static properties
2017-08-07 22:04:56 +02:00
rdb
d6657baf29
cppparser: fix scope bug in constructor inits
...
This also fixes the Android build.
2017-05-25 13:20:11 +02:00
rdb
a175ad6a82
interrogate: fix compile error with default values that call scoped functions
2017-04-07 13:56:47 +02:00
Sam Edwards
dd490656a0
CMake: Update for upstream changes
2017-02-15 03:46:14 -07:00
Sam Edwards
ed4725afa2
Merge branch 'master' into cmake
2017-02-15 03:46:00 -07:00
Sam Edwards
ec3c2c5681
general: Fix missing include
2017-02-15 03:44:48 -07:00
rdb
18f09c48dd
cppparser: parse template friend declaration
2017-02-09 23:52:38 +01:00
rdb
c0191a3126
cppparser: update cppBison prebuilt files
2017-01-17 22:51:04 +01:00
rdb
e2771d39a9
cppparser: support for various C++11/C++14/C++17 features:
...
- decltype(auto)
- attributes (ie. [[deprecated]]), incl. with C++17 "using"
- extern template class (parses)
- sizeof struct members
- aggregate initialization
- initializers in capture lists
- alignas (parses)
2017-01-15 15:39:34 +01:00
rdb
e12420571b
cppparser: support C++11 lambda expressions
2017-01-14 22:37:33 +01:00
rdb
5aabd56697
cppparser: support C++11 raw string literals
2017-01-14 22:35:38 +01:00
Sam Edwards
f1da5ce92f
Merge branch 'master' into cmake
2017-01-09 17:59:22 -07:00
rdb
40ea0ab786
cppparser: support directives __LINE__, __FILE__, __has_include
2017-01-04 22:46:57 +01:00
rdb
8d305273dd
Merge remote-tracking branch 'origin/master' into cmake
2016-12-07 23:05:40 +01:00
rdb
b182224463
interrogate: fix issues with abstract classes and covariance (fixes EggPolygon constructor)
2016-12-05 17:22:24 -05:00
rdb
a056543d5a
Support push_macro and pop_macro in cppparser
2016-12-05 02:02:25 +01:00
Sam Edwards
e3fcacb1f7
Merge branch 'master' into cmake
2016-11-30 19:21:50 -08:00
Sam Edwards
573dad8dde
general: Fix missing includes.
2016-11-30 19:21:34 -08:00
rdb
d54d43ac34
cppparser: fix issue with templated external method definitions
2016-11-03 18:04:14 +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
rdb
1467541b8d
Interrogate issues: "fix #pragma once" for files specified on command-line, fix "unexpected $end" not having line numbers when parsing template parameter list
2016-11-01 12:19:11 +01:00
Mitchell Stokes
59b0913b0b
Cleanup .gitignore files
...
Remove all .gitignore files in subdirectories and add a few new ignores
to the top-level directory .gitignore file.
2016-10-30 20:06:12 -07:00
rdb
29ea65bb3f
Merge branch 'release/1.9.x'
2016-08-09 01:44:21 +02:00
rdb
db97747981
cppparser: Parse nonstandard specifier order like "const static"
2016-08-09 01:27:30 +02:00
rdb
8381118a97
Assorted tweaks and compile warning fixes
2016-07-14 12:54:39 +02:00
Sam Edwards
fffd105f96
Merge branch 'master' into cmake
2016-06-25 19:12:14 -07:00
Sam Edwards
2933b8ed39
general: Fix missing includes.
2016-06-25 19:10:38 -07:00
rdb
242cc5f57d
Support template "using" definitions in interrogate
2016-05-31 18:48:32 +02:00
rdb
ce29ae490d
Interrogate improvements, more properties, MAKE_SEQ_PROPERTY
2016-05-11 00:16:53 +02:00
rdb
fb78fe6e2a
Interrogate enum class support (maps to Python 3.4 enums), sanify wrapper code
2016-05-07 00:45:26 +02:00
Sam Edwards
441371e8d9
Merge branch 'master' into cmake
2016-03-15 18:30:55 -07:00
Sam Edwards
d28608aed1
cppparser: Fix missing includes.
2016-03-15 18:30:24 -07:00
tobspr
0fcfb8e372
New file headers, new comment style
2016-02-17 17:47:48 +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
5cd4342ed5
Merge branch 'master' into cmake
2016-02-05 17:16:15 +01:00
rdb
090e912ce6
Cleanup of comments and whitespace
2016-02-01 22:30:43 +01:00
rdb
9a38a6b075
Handle bool expressions separately in cppparser
2016-01-31 17:47:25 +01:00
rdb
83ed206551
Support implicitly generated copy constructor and default constructor in interrogate
2016-01-03 21:55:50 +01:00
rdb
be60303502
Support =default and =delete methods in Interrogate
2016-01-03 19:56:20 +01:00
rdb
cdc8d7d4d9
Interrogate should pick up definitions in all files explicitly named
2015-12-26 15:24:19 +01:00
rdb
db6f0342cc
Add properties with has/clear (interrogatedb v3.1)
2015-12-24 14:25:45 +01:00
rdb
1b857d6bda
A few interrogate improvements
2015-11-28 17:54:01 +01:00
rdb
c93e50ca05
Merge branch 'release/1.9.x'
...
Conflicts:
.travis.yml
dtool/src/cppparser/cppBison.cxx.prebuilt
dtool/src/cppparser/cppBison.yxx
makepanda/makepanda.py
2015-11-19 18:43:13 +01:00
rdb
df4c4bc250
Fix various cppparser issues parsing the VRPN headers
2015-11-19 18:35:29 +01:00
rdb
909856c75d
Improve interrogate diagnostics when encountering unknown types
2015-11-19 13:07:28 +01:00
Sam Edwards
b1a294631a
Merge branch 'master' into cmake
2015-11-11 12:35:13 -08:00
Sam Edwards
5ebb6c511f
general: Fix missing includes.
2015-11-11 12:35:04 -08:00
rdb
5b291a9b10
Merge branch 'master' into cmake
2015-11-09 19:21:12 +01:00
rdb
db3ab953e4
Remove ppremake, genPyCode, and all hacks created to support them
2015-11-09 19:06:49 +01:00
rdb
ac1c036cac
interrogatedb 3.0 to restructure make_seq, improve make_seq handling and performance
2015-11-09 18:03:30 +01:00
Sam Edwards
c902774cfd
Merge branch 'master' into cmake
2015-11-07 20:06:59 -08:00
Sam Edwards
3b667a83ed
general: Fix several missing includes.
2015-11-07 20:05:17 -08:00
rdb
d1732a4dca
Fix minor preprocessor bugs, particularly parsing files with CRLF
2015-11-08 02:10:38 +01:00
rdb
da17cce447
Fix error and warnings in 32-bit Windows build
2015-11-01 16:57:52 +01:00
rdb
155ae811aa
Fix some edge cases for preprocessor, support auto keyword, MSVC compile fix
2015-10-17 02:54:07 +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
a43d6a45c1
Fix issue building with pre-C++11 compiler
2015-10-12 14:20:23 +02:00
rdb
ba45120eac
Try to stay compatible with Bison 2.5 (for Ubuntu precise), support C++11 and C++17 static_assert, improve error reporting, handle several gcc keyword aliases, fix bug handling preprocessor expression in which the same manifest occurs more than once
2015-10-11 16:52:33 +02:00
rdb
1c9ff40236
Require new Bison version on Windows, fallback to prebuilt files if not present
2015-10-10 16:29:14 +02:00
rdb
e327c7e978
Vastly improve quality of Interrogate error messages, also fix erroneous location indications
...
This change also causes Interrogate to safely ignore "register" keywords in function parameters
2015-10-10 15:15:22 +02:00