Commit graph

20,264 commits

Author SHA1 Message Date
Karl Wette
931656bcbe Lib/octave: 'octave_exit' not longer exists in Octave >= 4.4
- Instead must register atexit() function, since Octave still
  cannot clean up its memory usage on exit with SWIG modules
2018-05-12 22:25:07 +10:00
Karl Wette
04357dca21 Lib/octave: replace is_bool_type() with islogical() for Octave >= 4.4 2018-05-12 22:25:07 +10:00
Karl Wette
6f0561eb57 Lib/octave: replace is_numeric_type() with isnumeric() for Octave >= 4.4 2018-05-12 22:25:07 +10:00
Karl Wette
358345db9e Lib/octave: replace is_cell() with iscell() for Octave >= 4.4 2018-05-12 22:25:07 +10:00
Karl Wette
a46909a414 Lib/octave: call octave::feval() instead of feval() for Octave >= 4.4 2018-05-12 22:25:07 +10:00
Karl Wette
e8e507bf0b Lib/octave: fix function name passed to unwind_protect::begin_frame() 2018-05-12 22:25:07 +10:00
William S Fulton
ee17f8d04f C#, D, Java methodmodifiers on destructors
Add support so that the %csmethodmodifiers, %dmethodmodifiers,
%javamethodmodifiers can modify the method modifiers for the destructor wrappers
in the proxy class: dispose, Dispose, delete. With this feature, it is now possible
to make a C# proxy class sealed, eg when wrapping a class X, the virtual method modifiers
can be removed using:

  %typemap(csclassmodifiers) X "public sealed class"
  %csmethodmodifiers X::~X "public /*virtual*/";
2018-05-11 18:09:51 +01:00
William S Fulton
1f7689fa8f Javascript assert.h - move to header section
Fixes compile problem due to throw macro skullduggery in the director_throws testcase
2018-05-06 23:10:33 +01:00
William S Fulton
0d5719684f Appveyor cl compiler warning fixes during configure 2018-05-06 10:37:07 +01:00
William S Fulton
6551d0fead Java vector wrappers cast correction
64 bit windows, fixes:
  warning C4267: 'initializing': conversion from 'size_t' to 'jint'
2018-05-06 09:46:37 +01:00
William S Fulton
8555973a48 test-suite fixes (Java directors) for compilers that don't support varargs 2018-05-06 09:46:37 +01:00
William S Fulton
bea708c796 Go - use director.swg like other languages
Changes the location of the director code wrt to the generated _wrap.h
file to fix throw macro skullduggery in the director_throws testcase
(see previous commit).
2018-05-06 09:46:37 +01:00
William S Fulton
50cb18087d test-suite fixes (2) for compilers that don't support varargs
Split director_exception testcase into two so that testing throw(),
with no arguments, that is nothrows, can be tested separately to throw()
taking arguments. [The throw keyword needs to be removed for C++
compilation in C++11 and later when it was deprecated.]
2018-05-06 09:46:37 +01:00
William S Fulton
9fb996b83f Consistent spacing in generated exception specifications 2018-05-06 09:46:37 +01:00
William S Fulton
196a965067 test-suite fixes for compilers that don't support vararg macros
Split TESTCASE_THROW into multiple macros taking different number of arguments.
Fixes Visual Studio compiler errors.
2018-05-06 09:46:37 +01:00
William S Fulton
1c46662c39 Enhance Travis testing to use gcc 8 and test C++17 and C17 2018-05-05 07:48:24 +01:00
William S Fulton
3e4b7269c0 Enhance SWIG_isfinite for older standards: C++03/C++98/C89
Fixes testcase overload_numeric with -std=c++98 (clang and gcc 6 and later)

Issue #1239
2018-05-04 20:02:13 +01:00
William S Fulton
7ecf6a71b0 test-suite support for gcc-8 targeting C++11 and C++14
Some code in this test case is actually only supported in c++17...

cpp11_lambda_functions_wrap.cxx:275:87: error: the type ‘const<lambda(int, int)>’ of ‘constexpr’ variable ‘lambda18’ is not literal
 CONSTEXPR auto lambda18 = [] (int x, int y) mutable TESTCASE_THROW(int) { return x+y; };
                                                                                       ^
cpp11_lambda_functions_wrap.cxx:275:28: note: ‘<lambda(int, int)>’ is not literal because:
 CONSTEXPR auto lambda18 = [] (int x, int y) mutable TESTCASE_THROW(int) { return x+y; };
                            ^
cc1plus: note:   ‘<lambda(int, int)>’ is a closure type, which is only literal in C++17 and later
cpp11_lambda_functions_wrap.cxx:278:89: error: the type ‘const Space1::<lambda(int, int)>’ of ‘constexpr’ variable ‘Space1::lambda19’ is not literal
   CONSTEXPR auto lambda19 = [] (int x, int y) mutable TESTCASE_THROW(int) { return x+y; };
2018-05-04 20:02:13 +01:00
William S Fulton
35c5a3a42a Scilab portability fixes - remove use of strdup 2018-05-04 20:02:13 +01:00
William S Fulton
179b41067d Scilab array overbounds fix handling char type exceptions 2018-05-04 20:02:13 +01:00
William S Fulton
6cc6d21bd2 test-suite fix for c++17 and throw macro 2018-05-04 20:02:13 +01:00
William S Fulton
e7d626d1b4 Remove use of 'register' in C source
No noticable performance change using gcc x86-64 in Java and Python
test-suites.
2018-05-04 20:02:13 +01:00
William S Fulton
e6b3a88f8a test-suite support for C++17: switch testing of the deprecated C++17 'register' keyword from C++ to C 2018-05-04 20:02:13 +01:00
William S Fulton
c9a10eb726 Examples update to support C++17: exception specification throw removal 2018-05-04 20:02:13 +01:00
William S Fulton
4e0b2f1402 Cosmetic syntax tweak using throw in Octave directors 2018-05-04 20:02:13 +01:00
William S Fulton
63f7315c8a test-suite support for C++17 (Java): exception specification throw removal 2018-05-04 20:02:13 +01:00
William S Fulton
35b792daed test-suite support for C++17: exception specification throw removal 2018-05-04 20:02:13 +01:00
William S Fulton
ebd6558a30 __cplusplus macro usage tweak 2018-05-04 20:02:13 +01:00
William S Fulton
44f599bb6f Improve detection of Python's 2to3 tool
Distributions seem to install it as 2to3-X.Y where the interpreter is
installed as pythonX.Y
2018-05-04 20:02:13 +01:00
William S Fulton
7774cdf71f Correct C shared library creation when specifing CC to configure 2018-05-04 20:02:13 +01:00
William S Fulton
8b4d0d7921
Merge pull request #1246 from bje-/paren-fix
Remove superfluous parens in generated Python scripts.
2018-04-28 09:58:50 +01:00
Ben Elliston
6fb6636ce2 Remove superfluous parens in generated Python scripts. 2018-04-28 12:28:11 +10:00
Olly Betts
d612c6a835 [ci] guile 2.2 build no longer expected to fail 2018-04-21 15:01:28 +12:00
Olly Betts
e57d845312
Merge pull request #1235 from Rasie1/master
Fix go version matching in configure for go1.10
2018-04-21 15:01:19 +12:00
Olly Betts
6fc2df3b8c
Merge pull request #1232 from gjanssens/master
Fix guile 2.2 support
2018-04-21 14:59:11 +12:00
Geert Janssens
f8adc3e613 guile - resstructure some configure tests
1. move the 'no executable found' message up to be with the executable tests
2. test for an (non-)empty GUILE variable for all other conditions after that

An empty GUILE variable means guile is disabled and consistently using the
same test makes the code more readable.
2018-04-20 08:54:37 +02:00
Geert Janssens
7e798c1862 Disable guile configuration if guile-config and guile report a different version
In addition
- inform the user when guile gets disabled while it was requested
- skip unecessary configuration work if guile gets disabled
2018-04-20 08:41:15 +02:00
Geert Janssens
b02cb7e0bc Fix guile executable detection on early 2.0.x guile versions
Querying guile-config for the executable name was only introduced in guile 2.0.12.
If it works it's the most reliable method in environments with more than one guile
executable. If it doesn't work fall back to path detection, assuming the executable
name is just 'guile'. If that's incorrect it's up to the caller to explicitly
specify the path to the right guile executable.
2018-04-20 08:36:50 +02:00
Geert Janssens
a95ceabb70 guile - drop GDB_INTERFACE related stuff
Guile itself has removed it a long time ago:
http://git.savannah.gnu.org/gitweb/?p=guile.git;a=commit;h=8510e39278161d3cbf8ec4ba87b123fe28763ed4
There's no need for it. I suspect it's just there because the
interface file was created based on the then real main source file of guile.
2018-04-20 08:36:49 +02:00
Geert Janssens
d1f7054b7e guile - replace obsolete scm_listify with scm_list_n
scm_list_n is available in all guile versions supported by swig, while
scm_listify no longer is in guile 2.2
2018-04-20 08:36:48 +02:00
Geert Janssens
0d2a646654 guile - use more reliable method of finding guile executable based on guile-config
This allows to only specify --with-guile-config=xyz to configure and it will pick up
the correct guile executable in case more versions of guile are installed on the same
system. For example on Fedora 27, I have
/usr/bin/guile1.8
/usr/bin/guile (which is guile 2.0)
/usr/bin/guile2.2
Without this patch the configure script would always pick /usr/bin/guile regardless of which
guile-config I would specify (guile1.8-config, guile-config or guile-config2.2).
With the patch guile2.2 is now correctly picked for guile-config2.2.
Unfortunately it still won't work with guile 1.8 because that version can't provide the
executable name via guile-config yet. In that case configure will fall back to the old
behaviour. On my Fedora 27 system that would mean it would still pick the wrong
executable. However this is not critical because that as well can be overridden by
setting --with-guile=abc. I don't see an easy way to improve on this.
2018-04-20 08:36:47 +02:00
Vsevolod Kvachev
5f6012039a Fix go version matching in configure for go1.10 2018-04-19 23:04:37 +03:00
Olly Betts
2ab3f4d744 [Python] Suppress new pycodestyle warning
E252 missing whitespace around parameter equals
2018-04-19 08:41:25 +12:00
Ivan Leonov
34ee191769 Add if-no-present action for jsv8inc arg 2018-04-18 13:08:15 +12:00
Ivan Leonov
209586c991 Fix typo in help --with-jscoreinc and --with-jscorelib 2018-04-18 13:08:15 +12:00
Geert Janssens
46ab0c252d Fix off-by-one error
The condition only applies to guile 1.8 and older so it should really
have been '<2' all along. As we already have such a conditional block
earlier up, merge the two together as well.
2018-04-18 13:07:03 +12:00
Olly Betts
3042ff60fe
Merge pull request #1222 from bje-/configfiles-urls
* Makefile.in (configfiles): Update URLs for latest configfiles.
2018-04-10 12:30:10 +12:00
Ben Elliston
cf8f99ba44 * Makefile.in (configfiles): Update URLs for latest configfiles.
We haven't uploaded the latest version of these scripts to ftp.gnu.org
in over 10 years. See ftp://ftp.gnu.org/pub/gnu/config/README. The
best place to fetch them from is the Savannah git repository.
2018-04-10 10:07:47 +10:00
William S Fulton
15a09ffbdc Add changes entry for Ruby %alias fix for global functions 2018-04-07 12:34:39 +01:00
William S Fulton
5ccae6eac6 Merge branch 'goatshriek-ruby-alias'
* goatshriek-ruby-alias:
  Fix ruby %alias directive for native c functions
2018-04-07 12:34:08 +01:00