The SWIG_PyInstanceMethod_New method is no longer added to wrapped
classes except when it's actually needed, which is when
(!builtin && fastproxy) is true (which it isn't by default).
The SWIG_PyStaticMethod_New method is no longer is now similarly
gated - previously only (fastproxy) was checked.
Finally the C/C++ functions that implement these were always compiled
into the module, but now they're only included if
(!builtin && fastproxy) is true.
Issue noted by vadz in #2190.
When not using -builtin, the self parameter is now still made
available so that user typemaps can use it. Fixes#967.
When using -builtin, fix -Wunused-parameter warnings in the generated
wrapper code. See #801.
Based on a commit peeled out of #801 by teythoon.
Previously, the emitted constructors were incomplete prototypes. When
compiling the wrapper code using gcc 6 and -Wstrict-prototypes, the
following warnings were emitted:
warning: function declaration isn’t a prototype [-Wstrict-prototypes]
See #801
Use SWIG_<module>_Init() function to init the module rather than
<module>_Init() as the latter can collide with a function being wrapped.
Fixes#745Fixes#1739
Drop a method which has been deprecated then removed in Qt (but isn't
actually used in the example anyway) and clean up the steps a bit.
The example still doesn't build for me as the final step fails with:
File "_none_", line 1:
Error: Module `Dynlink' is unavailable (required by `Camlp4')
I know next to nothing about ocaml, so that may be something I've
failed to install, but I couldn't work out what. I think the Qt
library linking needs updating too - there doesn't seem to be a
single `-lqt` now, but I don't use Qt either.
Remove redundant NULL checks before free()/delete
The ISO C and C++ standards guarantee that it's safe to call these
on a NULL pointer, so it's not necessary for the calling code to
also check.
Fixes https://sourceforge.net/p/swig/feature-requests/70/
The Ruby C API function 'rb_funcall' is used in various places in generated
code for invoking a Ruby method without parameters. The C function uses a
variadic parameter list for the arguments passed to Ruby, therefore in these
cases the list of variadic parameters is empty.
As an optimization Ruby may implement the 'rb_funcall' function as a macro
which however will not accept an empty list of arguments for '...' as of
C99 and C++11.
In order to prevent compiler warnings, this commit replaces all such
occurrences with a call to 'rb_funcall2' (which in its current name
'rb_funcallv' is invoked by the 'rb_funcall' macro anyway, at least for
Ruby 2.6.6).
It was not obvious to at least one person that namespaces need to be
unignored just like classes and methods. Add an explicit reference to
that in the docs.
Also add something to unignore all classes in the example that shows how
to ignore all classes, as that might not be obvious.
Fixes#193
In the example for ignoring everything, it didn't show how to undo the
ignore all, and the obvious '%rename("") ""' didnt work.
'"%rename("%s") ""' is the right way to do that, so add it to the
example.
Fixes#2173
The example I recently added about renaming didn't compile. Here's the
fix.
There was also a use of the term "override" which should have been
changed to "replace".
Per comments on the merge request, this is the appropriate place for it,
and add a reference to it from the structures and unions section so
someone looking there will see it.
Also remove the changes in Contents.html, since that is regenerated and
those changes are just noise in the commit.
Signed-off-by: Corey Minyard <cminyard@mvista.com>