Done in order to be C++17 compliant as it uses std::unexpected_handler
which was removed in C++17. This class was intended for director
exception handling but was never used by SWIG and was never documented.
Closes#1538
Fixes:
Undefined symbols for architecture x86_64: "___cxa_deleted_virtual"
which clang issues when a class deletes a method (seems to be when the
function is not one of the compiler's automatically added special member
functions).
'constexpr' non-static member function will not be implicitly 'const' in C++14; add 'const' to avoid a change in behavior [-Werror,-Wconstexpr-not-const]
cpp11_rvalue_reference3_wrap.cxx:256:38: warning: binding reference member 'member_rvalue_ref_ptr1' to
a temporary value [-Wdangling-field]
Thing *&& member_rvalue_ref_ptr1 = 0;
^
- Keep testing Octave 4.0 on Xenial, but the Octave headers break the C++11
tests, so just test C++98.
- Drop Octave 4.2 testing on Trusty.
- Keep Octave 4.4 testing on Trusty - it is the only C++11 Octave testing
done and is just fast enough to beat the 50 minute limit.
- Add latest Octave version (5.1) testing by using MacOS and brew. It takes
about 49 minutes to run for C++98 testing.
Unfortunately it takes longer than the Travis 50 minute limit to test C++11.
I can't find a Xenial or MacOS solution for testing Octave and C++11, so we'll
keep it on Travis for now. Octave is available as a Flatpak's, but Flatpak
doesn't work on Travis as it requires a reboot after installing the flatpak
package.
There were (a few) failures using 1.8.7, so document 1.9 and later as
working in SWIG 4.0.
Trusty failure in 2.3.0 was fixed in later versions of Ruby 2.3.x
(expansion of RARRAY_PTR).
This PR removes the closing `?>` PHP tag from generated files. [PSR-2](https://www.php-fig.org/psr/psr-2/) states:
> The closing `?>` tag MUST be omitted from files containing only PHP.
A problem might occur if files with any character after the closing tag are used with `include` or `require`. It might trigger an output and disallow HTTP header manipulation. See the popular [_headers already sent_](https://stackoverflow.com/a/8028987/1847340) debate on SO.
The default Go 1.11 version on Travis doesn't work with C++11/C++14:
gcc_libinit.c:110:3: error: implicit declaration of function ‘nanosleep’
so switch to another gimme version of Go.
Default version of Go 1.11.1 on Travis is broken for c++11 testing.
gcc_libinit.c: In function ‘_cgo_try_pthread_create’:
gcc_libinit.c:110:3: error: implicit declaration of function ‘nanosleep’ [-Werror=implicit-function-declaration]
nanosleep(&ts, nil);