Further crash fixes when using OUTPUT and INOUT typemaps in typemaps.i and
passing NULL pointers in C++ to director method overloaded and implemented
in Java.
Don't create the one element array in these directorin typemaps if the
input is a NULL pointer, that is, translate a NULL C++ pointer into a
null Java object.
Also add some missing JNI error checks in these typemaps.
* python-type-error:
Python fastdispatch error message improvements
Correct PyErr_Fetch/PyErr_Restore variable names
Overloaded C++ function Python wrappers now raise a TypeError instead of NotImplementedError
When overloaded C++ methods are called, the fastdispatch mode sometimes
optimises out the generation of the typecheck typemap code, resulting in
the 'Possible C/C++ prototypes' information not being in the error message.
Now when a TypeError is thrown, the exception message is modified to contain the
'Possible C/C++ prototypes'.
See issue #1293
Occurs when the types passed are incorrect. This change means
there is now consistency with non-overloaded function wrappers which have always
raised TypeError when the incorrect types are passed.
See issue #1293
Work around Ruby on MacOS Xcode 9.4 misconfiguration defining 'isfinite'
to deprecated 'finite'. Example warning:
li_std_list_wrap.cxx:7197:9: error: 'finite' is deprecated: first deprecated in macOS 10.9 [-Werror,-Wdeprecated-declarations]
if (SWIG_Float_Overflow_Check(v)) {
^
li_std_list_wrap.cxx:7156:73: note: expanded from macro 'SWIG_Float_Overflow_Check'
^
li_std_list_wrap.cxx:7122:29: note: expanded from macro 'SWIG_isfinite'
^
/Users/travis/.rvm/rubies/ruby-2.4.3/include/ruby-2.4.0/ruby/missing.h:180:24: note: expanded from macro 'isfinite'
^
/usr/include/math.h:757:12: note: 'finite' has been explicitly marked deprecated here
extern int finite(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA);
* js-v8-52-tests:
fixed nvm
node tests: use provided version if present
travis tests for different node versions
fix travis tests
Test NodeJS 4, 6, 8, and 10
Remove warnings on Node 6.x aka V8 5.0 and 5.1
Add Node 7.x aka V8 5.2+ support
Corrects adding metaclass to the nondynamic class so that the
implementation works. Uses metaclass syntax that will work for both
python 2 and 3 or proper Python 3 syntax when using -py3.
Fixes nondynamic mode when an instance variable is set with the same
name as a class variable in a class derived from a SWIG proxy class.
The python_nondynamic testcase now works using -modern and testcase
enhanced slightly too.
Fixes#718
* petrmitrichev-remove-function-local-statics:
Python initialization code tidy up
Remove SWIG_STATIC_POINTER (Python)
Add comments that explain the need for globals.
Avoid function-local statics that call Python code to avoid deadlocks with GIL
I've moved the initialization of statics a little earlier on - a little
safer as it is hard to follow exactly when some of these were being
used, such as SWIG_Py_None which sometimes replaces Py_None.