Using `-isystem` flag causes compilation errors with GCC10.
Replace it with `-I` flag.
Fixes#1805
Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com>
* ruby-bigendian:
Travis ruby s390x (big endian) architecture testing
Install libpcre3-dev for Linux builds
Don't fail the build if CPU model or memory can't be detected
Switch one of Travis CI Ruby builds to use s390x arch
* octave-fixes:
octrun.swg: ensure type_id() is set correctly
.travis.yml: build Octave on OSX with CPP=11
.travis.yml: require Octave build on OSX to pass
.travis.yml: add Octave test on Ubuntu Bionic
Octave: use pre-compiled headers to speed up test suite, if supported
Tools/travis-osx-install.sh: disable 'brew cleanup' to save Travis job run time
Tools/travis-osx-install.sh: use Tools/brew-install to install Octave
octave.cxx: fix exception raising for newer Octave versions
octave.cxx: add missing return statement before "fail:" label
octave.cxx: this belongs in the code (as opposed to definition) section
octave.cxx: remote whitespaces
octave.cxx: replace Printf() with Append() for consistency
octruntime.swg: do not use atexit() to quit Octave
octrun.swg: remove octave_value type-id from octave_swig_bound_func
configure.ac: fix calls to mkoctfile for Octave configuration
- Since (at least) Octave 5.1.0, the Octave error() function now raises a C++
exception, which if uncaught immediately exits a SWIG wrapper function,
bypassing any cleanup code that may appear after a "fail:" label.
- This patch adds a "try { ... } catch(...) { }" block around the contents of
SWIG wrapper functions to first execute the cleanup code before rethrowing any
exception raised.
- It is backward compatible with earlier versions of Octave where error() does
not raise an exception, which will still branch to the "fail:" block to
execute cleanup code if an error is encountered.
- This reverts commit 931656bcbe
- Since atexit() does not pass along the desired exit status,
__swig_atexit__() always exits with status zero, regardless
of whether Octave completed successfully or raised an error.
- This means the success/failure of Octave scripts which load
SWIG modules cannot be determined by other programs, which
makes them unusable.
- Instead, provide a Octave function swig_exit() which calls
::_Exit() with a given exit status. This way at least a
clean exit from Octave can be guaranteed for future versions
if the seg-fault problem is not fixed.
- The {DECLARE|DEFINE}_OV_TYPEID_FUNCTIONS_AND_DATA declarations
attached to this class cause a seg-fault in the module_load
Octave example. Removing these declarations fixes the seg-fault.
- While cause of seg-fault is unknown, note that (in Octave 5.1.0)
the declaration of octave_function, which is the base class for
octave_swig_bound_func, does not use these declarations. So it's
possible they simply are not required for this type of subclass.
- As of Octave 5.1.0, mkoctfile no longer works with 'env -'
(no environment), so need to pass at least PATH and
LD_LIBRARY_PATH for it to work.
- Still need to clear environment so that it doesn't override
mkoctfile defined variables, e.g. CXXFLAGS.