Commit Graph

163 Commits

Author SHA1 Message Date
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 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 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 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 5ebb6c511f general: Fix missing includes. 2015-11-11 12:35:04 -08: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 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
rdb 62e8106ef1 Interrogate now correctly implements C++11 semantics for closing template parameter lists 2015-10-10 04:08:00 +02:00
rdb 6feef4e230 Interrogate now parses (and ignores) explicit template instantiations 2015-10-09 13:33:05 +02:00
rdb 7f3f546cdd Interrogate now parses "volatile" qualifier in instance identifiers correctly 2015-10-05 02:56:40 +02:00
rdb aebce2e74c Merge branch 'release/1.9.x' 2015-10-05 01:23:31 +02:00
rdb 893740478c Fix sporadic interrogate parser issue 2015-10-04 17:20:49 +02:00
rdb c0ff9d8e5f Merge branch 'release/1.9.x' 2015-08-04 18:00:35 +02:00
rdb de715b5a0e Fix inability for interrogate to parse /*c*//* and /*c*/// 2015-08-04 17:49:19 +02:00
rdb 9178ed2871 Fix some preprocessor expressions in Interrogate 2015-07-14 21:04:50 +01:00
Sam Edwards 16bfd3750f Add missing includes. 2015-07-12 19:27:13 -07:00
rdb 7026854cc2 Fixes to get the C binding generator to work 2015-07-05 16:07:08 +02:00
rdb 2515ea5dff Merge branch 'release/1.9.x' 2015-06-13 13:37:33 +02:00
rdb 48208b0f27 Support #pragma once in interrogate 2015-06-13 13:33:11 +02:00