Commit graph

20,347 commits

Author SHA1 Message Date
Vadim Zeitlin
db65ae5aea Merge branch 'master' into doxygen
Fix the usual conflicts in autodoc unit test due to fixing the
divergences in autodoc generation between builtin and default cases in
this branch.
2017-09-19 14:02:53 +02:00
William S Fulton
0a9113dcba Correct php testcase 2017-09-19 07:37:29 +01:00
William S Fulton
20521eae68 Merge branch 'interface-using-declaration'
* interface-using-declaration:
  Fix seg fault with %interface and using declarations
2017-09-18 18:09:30 +01:00
William S Fulton
19fa79830d Run some preprocessor constants tests that were previously disabled.
These probably should have been enabled with 256e283fc3
2017-09-18 07:10:49 +01:00
William S Fulton
9e2a12416c Fix type promotion wrapping some non-trivial constant expressions
This was previously an integral type instead of a floating point type:
2017-09-18 07:06:27 +01:00
William S Fulton
90ba174fce Fix generated code for constant expressions containing wchar_t L literals.
Such as:
  # define __WCHAR_MAX    (0x7fffffff + L'\0')

Reported on swig-user mailing list.
2017-09-17 19:02:55 +01:00
William S Fulton
323d606d3c Merge branch 'luav-master'
* luav-master:
  Doc corrections for %shared_ptr and enhancements for %inline
  Library docs chapter tweaks
  %rename for functions with default parameters explained, see #1087
  %shared_ptr usage for the templates documented, see #1049
  Includes inside %inline block documented, see #1068
2017-09-15 19:23:03 +01:00
William S Fulton
9671613372 Doc corrections for %shared_ptr and enhancements for %inline 2017-09-15 19:21:26 +01:00
William S Fulton
ce96d1b153 Library docs chapter tweaks
- Consistency in heading names
- html fixes
- shared_ptr corrections and add in subheadings
2017-09-15 08:45:39 +01:00
Artem V L
f1df34642b Merge branch 'master' into master 2017-09-14 22:04:25 +02:00
William S Fulton
9cc05a22f6 Improve docs for %rename and C++ features like default args 2017-09-14 18:51:36 +01:00
luav
d2b329f71d %rename for functions with default parameters explained, see #1087 2017-09-14 18:51:36 +01:00
William S Fulton
d5d97a4069 Overloaded methods section renamed slightly in docs 2017-09-14 18:51:36 +01:00
William S Fulton
ff52610dc5 Move C++ 'Default arguments' section in manual 2017-09-14 18:51:36 +01:00
William S Fulton
169738011c Update version number to 4.0 in docs 2017-09-14 07:39:16 +01:00
William S Fulton
2fee7c96cc Remove C casts in PyTypeObject for Python builtin type declarations
Choose compile time failures over runtime errors.
This change highlighted a problem in the constructor wrappers for tp_init
where the kwargs parameter was missing in the generated wrapper function.
Leave casts in for 0 initialization.
2017-09-12 18:10:57 +01:00
William S Fulton
8a168795d3 Cosmetic formatting fixes in generated code for exception handlers 2017-09-12 08:47:10 +01:00
William S Fulton
b41fdba9ef Cosmetic changes for Java std::array wrappers 2017-09-12 08:36:53 +01:00
William S Fulton
cac396eb56 Restore node testing on Travis (for Ubuntu Trusty) 2017-09-12 08:32:49 +01:00
William S Fulton
065c06159e Travis fix for pip install pep8
Fix for recent Travis image cleanup.
Issue https://github.com/travis-ci/travis-ci/issues/8378
2017-09-12 07:48:25 +01:00
luav
73fe0fdc7e %rename for functions with default parameters explained, see #1087 2017-09-12 04:13:24 +02:00
William S Fulton
6077b808f7 Remove code duplication of Swig_overload_rank
Allegrocl and R versions were also out of date
2017-09-11 23:18:55 +01:00
William S Fulton
0c0384198a Fix testcase symbol name conflict
FF1 is also defined in /usr/include/sys/termio.h on cygwin and used by
Python.h.
2017-09-11 23:17:30 +01:00
luav
f069d0a744 %shared_ptr usage for the templates documented, see #1049 2017-09-11 22:55:13 +02:00
luav
0587edd559 Includes inside %inline block documented, see #1068 2017-09-11 22:13:19 +02:00
William S Fulton
4d2d8dd80e Merge branch 'cpp11-ref-qualifiers'
* cpp11-ref-qualifiers:
  Warnings in testcases fix
  Add support for %typemap and member function pointers with qualifiers
  Fix wrapping of some member function pointer parameters
  Add support for member function pointers with ref-qualifiers
  Add error for constructors, destructors, static methods declared with qualifiers
  Add support for conversion operators with ref-qualifiers
  Alternate function syntax parsing improvement
  Re-organise parser grammar for initializer rules
  Re-organise parser grammar for declarator and initializer rules
  Add docs for C++11 ref-qualifiers
  Add unignore for rvalue ref-qualifiers
  Improve ref-qualifier implementation
  Fix support for member const function pointer variables
  Use normal SWIG encodings for ref-qualifiers
  C++11 ref-qualifier support added
2017-09-11 19:33:27 +01:00
William S Fulton
64bc67f57e Remove all Ubuntu Precise testing on Travis
This is going end of life on Travis.
2017-09-11 08:27:18 +01:00
William S Fulton
d8556b0119 Remove node testing from Travis
Travis is now testing on Ubuntu Trusty by default instead of Ubuntu
Precise. SWIG wrappers need some work for this environment.
Travis build failure: https://travis-ci.org/swig/swig/jobs/273885208
Issue #971
2017-09-11 08:21:55 +01:00
William S Fulton
f18b45e677 Travis workaround fix for pip install pep8 install fail
Example failure:
https://travis-ci.org/swig/swig/jobs/273885223#L557

Error:
IOError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pep8.pyc'
2017-09-11 08:16:57 +01:00
William S Fulton
0646db73c3 Add _DEBUG set to 1 change into changes files 2017-09-10 17:20:35 +01:00
William S Fulton
af3d59917d Merge branch 'VLAM3D-master'
* VLAM3D-master:
  Define _DEBUG to 1 to do exactly like /LDd, /MDd or /MTd compiler options
2017-09-10 17:15:55 +01:00
William S Fulton
f38e525a24 Warnings in testcases fix 2017-09-10 12:49:24 +01:00
William S Fulton
c4e280024f Add support for %typemap and member function pointers with qualifiers 2017-09-09 23:46:14 +01:00
William S Fulton
45c161dfce Fix wrapping of some member function pointer parameters
Generated code did not compile if both cv-qualifiers and rvalue
ref-qualifiers were present in the member function pointer.
2017-09-07 06:58:01 +01:00
William S Fulton
eb68e4375d Add support for member function pointers with ref-qualifiers 2017-09-05 18:44:00 +01:00
Lamarre, Mathieu
711ae14541 Define _DEBUG to 1 to do exactly like /LDd, /MDd or /MTd compiler options 2017-08-31 09:43:07 -04:00
William S Fulton
7e4717320b Add error for constructors, destructors, static methods declared with qualifiers
SWIG parses a superset of valid C++ declarations. These ill-formed declarations
were previously successfully parsed but now result an error message.
2017-08-30 18:17:05 +01:00
William S Fulton
950edc1c00 Add support for conversion operators with ref-qualifiers 2017-08-30 18:17:05 +01:00
William S Fulton
0e50ef30b1 Alternate function syntax parsing improvement
This was incorrectly accepting qualifiers and exception specifications
in the wrong place.
2017-08-30 18:17:04 +01:00
William S Fulton
8227c02267 Re-organise parser grammar for initializer rules
Simply split initializer into const_cpp and initializer
2017-08-30 18:17:04 +01:00
William S Fulton
c9d425604c Re-organise parser grammar for declarator and initializer rules
Step 1 to make these closer to the definitions used in the standard.
The initializer rule should not include qualifiers and exception specification.

- split cpp_const into add qualifiers_exception_specification and empty rules
- simplify initializer to use new qualifiers_exception_specification rule
2017-08-30 18:17:04 +01:00
William S Fulton
330ef362f4 Add docs for C++11 ref-qualifiers 2017-08-30 18:17:04 +01:00
William S Fulton
8a40327aa8 Add unignore for rvalue ref-qualifiers
Use std::move on this pointer as the default approach to supporting
rvalue ref-qualifiers if a user really wants to wrap.

std::move requires <memory> headers so add swigfragments.swg for all
languages to use common fragments. Just header file fragments for now.
2017-08-30 18:17:04 +01:00
William S Fulton
1cf599bccb Improve ref-qualifier implementation
Internally, handle function ref-qualifiers in the function decl type string.
Needed for a whole host of things to work like %feature and %rename.
Add %feature %rename and %ignore testing for ref-qualifiers.
2017-08-30 18:17:04 +01:00
William S Fulton
eeab152901 Fix support for member const function pointer variables
Was not generating code that compiled when the variable was not
a simple member pointer, for example,
a const reference member pointer:
  short (Funcs::* const& cc7)(bool) const = cc1;
2017-08-30 18:16:59 +01:00
William S Fulton
fbada9959c Fix types when calling PyTuple_New
Replace int with Py_ssize_t to fix warnings on Windows when using -O
and/or -builtin.
2017-08-27 14:18:00 +01:00
William S Fulton
665b09ffc9 Fix seg fault with %interface and using declarations 2017-08-21 18:34:51 +01:00
William S Fulton
685ee6cdc4 Use normal SWIG encodings for ref-qualifiers 2017-08-19 09:38:19 +01:00
William S Fulton
9e19fe7868 C++11 ref-qualifier support added
Fixes #1059

Methods with rvalue ref-qualifiers are ignored by default as it is not
possible to have an rvalue temporary from the target language (which is
needed to call the rvalue ref-qualified method).
A warning 405 is shown mentioning the ignored rvalue ref-qualifier method
which can be seen with the -Wextra option.

  cpp_refqualifier.i:15: Warning 405: Method with rvalue ref-qualifier ignored h() const &&.

Usually rvalue and lvalue ref-qualifier overloaded methods are written - the
lvalue method will then be wrapped.
2017-08-19 01:02:34 +01:00
William S Fulton
dd3d04a2f2 Fix testcase for clang 2017-08-17 10:28:41 +01:00