Octave: add support for version 4.2
- .travis.yml:
- ppa:kwwette/octaves has Octave version 4.2, also run C++11 tests
- configure.ac:
- prefer Octave program "octave-cli" to "octave"
- extract any -std=* flags from CXX, add to OCTAVE_CXXFLAGS
- Lib/typemaps/fragments.swg:
- SWIG_isfinite_func(): extern "C++" is required as this fragment can
end up inside an extern "C" { } block
- Lib/octave:
- add std_wstring.i (copied from std_string.i) for C++11 tests
- Lib/octave/octrun.swg:
- move Octave version-checking macros to octruntime.swg
- Octave single()/double() functions now call .as_single()/.as_double()
methods; redirect calls to __float__() method as per .scalar_value()
- << and >> operators are no longer supported by Octave
- Lib/octave/octruntime.swg:
- move Octave version-checking macros here for conditional #includes
- #include interpreter.h instead of #toplev.h
- #include call-stack.h (now needed for octave_call_stack)
- unwind_protect is now in octave:: namespace
- error_state and warning_state are deprecated; use try/catch to catch
errors in feval() instead
- always set octave_exit = ::_Exit, to try to prevent segfault on exit
- Lib/octave/octopers.swg:
- << and >> operators are no longer supported by Octave
- Lib/octave/exception.i:
- Add macro SWIG_RETHROW_OCTAVE_EXCEPTIONS which rethrows any
exceptions raised by Octave >= 4.2
- Examples/test-suite/exception_order.i:
- Use macro SWIG_RETHROW_OCTAVE_EXCEPTIONS to rethrow exceptions
raised by error() function in Octave >= 4.2
- Update Doc/Manual/Octave.html and CHANGES.current
This commit is contained in:
parent
52455b81d2
commit
e24ec40895
11 changed files with 251 additions and 141 deletions
|
|
@ -7,6 +7,30 @@ the issue number to the end of the URL: https://github.com/swig/swig/issues/
|
|||
Version 3.0.12 (in progress)
|
||||
============================
|
||||
|
||||
2017-01-22: kwwette
|
||||
[Octave] add support for version 4.2
|
||||
- The Octave API now uses some C++11 features. It is recommended to use
|
||||
the mkoctfile program supplied by Octave to compile the SWIG-generated
|
||||
wrapper code, as mkoctfile will ensure the correct C++ compiler/options
|
||||
are used. Otherwise, the value of `mkoctfile -p CXX` should be parsed
|
||||
for any -std=* flags which might be present.
|
||||
- Octave has dropped support for << and >> operators, so SWIG now
|
||||
ignores them.
|
||||
- The Octave error() function now raises C++ exceptions to propagate
|
||||
Octave errors, so %exception directives may need to be modified.
|
||||
For convenience the SWIG_RETHROW_OCTAVE_EXCEPTIONS macro can be used
|
||||
to rethrow any Octave exceptions for Octave itself to handle, e.g.:
|
||||
|
||||
try {
|
||||
$action // may call error()
|
||||
}
|
||||
SWIG_RETHROW_OCTAVE_EXCEPTIONS // error() exceptions are rethrown
|
||||
catch(...) {
|
||||
... // all other exceptions
|
||||
}
|
||||
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
2017-01-16: wkalinin
|
||||
[C#] Fix #733 regression introduced in swig-3.0.9.
|
||||
Missing virtual function override in C# layer when using %import.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue