Commit graph

4,967 commits

Author SHA1 Message Date
Olly Betts
7d11c2901e Drop no longer needed warning suppression for clang
74345c92e4 fixed the underlying problem
for Python, and it was fixed for other affected languages shortly
after - see https://github.com/swig/swig/pull/1027
2018-05-29 09:07:25 +12:00
William S Fulton
0ae73a67ff More merge fixes from doxygen branches 2018-05-25 23:36:24 +01:00
William S Fulton
8234656497 Correct python example headers 2018-05-25 23:35:28 +01:00
William S Fulton
448691cfa8 Another merge fix from doxygen branches 2018-05-25 23:19:16 +01:00
William S Fulton
7d1578e58c Add omitted doxygen_parsing_enums testcase
Still needs a Python runtime test
2018-05-25 07:56:45 +01:00
William S Fulton
95caf87596 PEP8 conformance for comment verifier module 2018-05-25 07:56:45 +01:00
William S Fulton
cbaf6eb2b3 Clean up merge problem 2018-05-25 07:56:45 +01:00
William S Fulton
caccb20491 Format files to unix format 2018-05-25 07:56:44 +01:00
William S Fulton
6bad5ca3a1 Doxygen testcase tweak to match that in the html docs 2018-05-25 07:56:44 +01:00
William S Fulton
abfc304740 Various merge fixes in doxygen branches 2018-05-19 08:12:10 +01:00
William S Fulton
0cfd53cff7 Merge branch 'master' into vadz-doxygen
* master:
  Add Octave 4.4 to Travis allow_failures
  Fixes for appveyor image changes
  Javascript test-suite Makefile parallel jobs
  Add changes entry for csconstruct, dconstruct and javaconstruct fix
  Fix lookup of csconstruct, dconstructor and javaconstruct typemaps
  Javascript %nspace fix in generated C++ code
  Add C++17 documentation chapter
  Add changes notes for C++17 nested namespaces support
  Test for invalid C++17 nested namespace aliases
  Test c++17 nested namespaces and %nspace
  Add c++17 nested namespaces runtime test for C#
  Add c++17 nested namespaces runtime test for Python
  Add support for c++17 nested namespaces
  Update CHANGES.current
  .travis.yml: test against Octave 4.4
  Examples/test-suite/register_par.i: rename 'tree' to 'swig_tree'
  Examples/octave/module_load/runme.m: update 'exist()' statements for Octave >= 4.4
  Examples/octave/module_load/runme.m: do not use duplicate function names
  Examples/Makefile.in: unset OCTAVE_PATH when running Octave for tests
  Lib/octave: fix getting/setting global variables for Octave >= 4.4
  Lib/octave: use new class for function member dereference with Octave >= 4.4
  Lib/octave: fix operator installation for Octave >= 4.4
  Lib/Octave: in Octave >= 4.4, assign reference to base class in subclass
  Lib/octave: fix call to mlock() for Octave >= 4.4
  Lib/octave: fix call to octave::call_stack::current() for Octave >= 4.4
  Lib/octave: 'octave_exit' not longer exists in Octave >= 4.4
  Lib/octave: replace is_bool_type() with islogical() for Octave >= 4.4
  Lib/octave: replace is_numeric_type() with isnumeric() for Octave >= 4.4
  Lib/octave: replace is_cell() with iscell() for Octave >= 4.4
  Lib/octave: call octave::feval() instead of feval() for Octave >= 4.4
  Lib/octave: fix function name passed to unwind_protect::begin_frame()
  C#, D, Java methodmodifiers on destructors
  Javascript assert.h - move to header section
  Appveyor cl compiler warning fixes during configure
  Java vector wrappers cast correction
  test-suite fixes (Java directors) for compilers that don't support varargs
  Go - use director.swg like other languages
  test-suite fixes (2) for compilers that don't support varargs
  Consistent spacing in generated exception specifications
  test-suite fixes for compilers that don't support vararg macros
  Enhance Travis testing to use gcc 8 and test C++17 and C17
  Enhance SWIG_isfinite for older standards: C++03/C++98/C89
  test-suite support for gcc-8 targeting C++11 and C++14
  Scilab portability fixes - remove use of strdup
  Scilab array overbounds fix handling char type exceptions
  test-suite fix for c++17 and throw macro
  Remove use of 'register' in C source
  test-suite support for C++17: switch testing of the deprecated C++17 'register' keyword from C++ to C
  Examples update to support C++17: exception specification throw removal
  Cosmetic syntax tweak using throw in Octave directors
  test-suite support for C++17 (Java): exception specification throw removal
  test-suite support for C++17: exception specification throw removal
  __cplusplus macro usage tweak
  Improve detection of Python's 2to3 tool
  Correct C shared library creation when specifing CC to configure
  Remove superfluous parens in generated Python scripts.
  [ci] guile 2.2 build no longer expected to fail
  guile - resstructure some configure tests
  Disable guile configuration if guile-config and guile report a different version
  Fix guile executable detection on early 2.0.x guile versions
  guile - drop GDB_INTERFACE related stuff
  guile - replace obsolete scm_listify with scm_list_n
  guile - use more reliable method of finding guile executable based on guile-config
  Fix go version matching in configure for go1.10
  [Python] Suppress new pycodestyle warning
  Add if-no-present action for jsv8inc arg
  Fix typo in help --with-jscoreinc and --with-jscorelib
  Fix off-by-one error
  * Makefile.in (configfiles): Update URLs for latest configfiles.
  Add changes entry for Ruby %alias fix for global functions
  [Ruby] Pass Qnil instead of NULL to rb_funcall()
  Fix typo
  Fix ruby %alias directive for native c functions
  Stop testing Python on Appveyor msys/mingw
  Fix -Wimplicit-fallthrough gcc-7.3 warning
2018-05-17 19:57:02 +01:00
luz.paz
60dfa31a67 Misc. typos
found via `codespell` and `grep`
2018-05-17 10:04:23 -04:00
William S Fulton
1f76cda125 Javascript test-suite Makefile parallel jobs
Suppress warning running test-suite and examples:
  make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
Note that node-gyp uses make under the hood and clearing the MAKEFILE env is the
only way I could find to suppress this warning.
2018-05-17 08:15:48 +01:00
Karl Wette
e66827be7d
Merge branch 'master' into octave 2018-05-17 14:08:29 +10:00
William S Fulton
aa6d7931ac Test for invalid C++17 nested namespace aliases 2018-05-14 21:03:31 +01:00
William S Fulton
220247c130 Test c++17 nested namespaces and %nspace 2018-05-14 21:03:31 +01:00
William S Fulton
5c39dcfb28 Add c++17 nested namespaces runtime test for C# 2018-05-14 21:03:31 +01:00
William S Fulton
c8f5f3a6d1 Add c++17 nested namespaces runtime test for Python 2018-05-14 21:03:31 +01:00
William S Fulton
348efc22ba Add support for c++17 nested namespaces
For example:
  namespace A::B { ... }
which is the equivalent to C++98 namespaces:
  namespace A { namespace B { ... } }
2018-05-14 21:02:10 +01:00
Karl Wette
a2ab3d7b20 Examples/test-suite/register_par.i: rename 'tree' to 'swig_tree'
- 'tree' is a declared symbol in Octave >= 4.4 headers
2018-05-12 22:25:07 +10:00
Karl Wette
64ad3f0ca8 Examples/octave/module_load/runme.m: update 'exist()' statements for Octave >= 4.4 2018-05-12 22:25:07 +10:00
Karl Wette
af97a312d4 Examples/octave/module_load/runme.m: do not use duplicate function names 2018-05-12 22:25:07 +10:00
Karl Wette
a169eef3c0 Examples/Makefile.in: unset OCTAVE_PATH when running Octave for tests 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
8555973a48 test-suite fixes (Java directors) for compilers that don't support varargs 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
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
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
6cc6d21bd2 test-suite fix for c++17 and throw macro 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
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
Olly Betts
2ab3f4d744 [Python] Suppress new pycodestyle warning
E252 missing whitespace around parameter equals
2018-04-19 08:41:25 +12: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
Olly Betts
3bea8f6b7e [Ruby] Pass Qnil instead of NULL to rb_funcall()
This silences GCC -Wconversion-null warning (on by default with recent
GCC).
2018-04-03 18:01:58 +12:00
Joel Anderson
a1cea4f483 Fix ruby %alias directive for native c functions
Using the %alias directive on native C functions causes swig to segfault due to
a dereference of klass (which is NULL for native C functions) in the
defineAliases function of the Ruby module. This commit adds support for an alias
of native C functions for both separate module as well as global functions, as
well as three test cases for the %alias directive of the Ruby module.

Fixes:
mod.i
%module ruby_alias
%alias get_my_name "nickname,fullname";
%inline %{
const char *get_my_name(){
  return "Chester Tester";
}
%}
$ swig -ruby mod.i
Segmentation fault

Signed-off-by: Joel Anderson <joelanderson333@gmail.com>
2018-03-22 08:05:01 -04:00
Vadim Zeitlin
b7f78dd5a7 Merge branch 'master' into doxygen 2018-03-19 21:54:46 +01:00
William S Fulton
98ebd56942 Remove c++11 override in testcase 2018-03-09 18:27:16 +00:00
William S Fulton
b4f4ce4fd5 Fix Java swigReleaseOwnership() and swigTakeOwnership() regression
Fixes segfault when using non-director classes.
Restores a dynamic_cast which was previously removed.
The dynamic_cast is not needed for the swig_connect_director call ...
we'll have to find another solution for #449 for Java.

Closes #1184
2018-03-09 08:13:41 +00:00
Olly Betts
1915740af8 preproc.i: Also note URL for "// in macro" PR 2018-03-08 06:12:01 +13:00
Olly Betts
ba3773e1be preproc.i: Shorten classname for scilab
Errors were:

../../../../../../Examples/test-suite/scilab/../preproc.i:400: Error: Wrapping functions names for member 'tcxMessageTestSlashSlash.mHeader' will exceed 24 characters, please rename the container of member 'tcxMessageTestSlashSlash'.
../../../../../../Examples/test-suite/scilab/../preproc.i:408: Error: Wrapping functions names for member 'tcxMessageBugSlashSlash.mBid' will exceed 24 characters, please rename the container of member 'tcxMessageBugSlashSlash'.
2018-03-08 06:10:08 +13:00
Olly Betts
d5e012f70f Add test coverage for // comment fix 2018-03-07 14:49:08 +13:00
William S Fulton
72964a1faf Don't accept some invalid preprocessor code
Whitespace or non-numeric characters are required after a preprocessor
directive that requires an expression.
2018-01-16 08:07:37 +00:00
William S Fulton
532999f4f2 Improve error message when preprocessor expressions result in a floating point constant
Instead of a syntax error, the error is now:
  Warning 202: Error: 'Floating point constant in preprocessor expression'
2018-01-15 08:09:14 +00:00
William S Fulton
ea5b55ecf4 Fix floating point division by zero in preprocessor expressions.
Closes #1183
2018-01-15 07:51:18 +00:00
William S Fulton
07a30249f4 Fix seg fault parsing invalid exponents
Add error message when exponents are incomplete,
for example 5e and 5.e
2018-01-14 19:36:09 +00:00
William S Fulton
af8d176c40 java_throws testcase warning fix 2018-01-12 23:10:02 +00:00
William S Fulton
368cd3b52c Add ToArray test for C# std::vector wrapper 2018-01-12 18:26:47 +00:00
William S Fulton
49af1907b8 Add missing Java throws clause for interfaces when using the %interface family of macros.
Fixes #1156.
2018-01-12 07:34:32 +00:00