Commit graph

21,823 commits

Author SHA1 Message Date
Zackery Spytz
02862fb278 [OCaml] Fix compilation errors with OCaml 4.09.0
caml_named_value() was modified to return a const value* in OCaml
4.09.0.

Closes #1686.
2019-12-29 22:41:43 -07:00
Markus Friedrich
a2d9a24f4d Changed return type of swig_this() to size_t.
The type long may be 4 bytes but swig_this() must return the address of
the object as an integer. Using size_t ensures that the return type can
store a pointer.
2019-12-24 14:06:25 +01:00
Vadim Zeitlin
e7d0533a6f Quote JAVAC expansion in configure to deal with spaces
This avoids errors about unknown Java version format when JAVAC is in a
path with spaces in it (as is often the case under Windows).
2019-12-19 16:17:24 +01:00
Vadim Zeitlin
b52af40398 Disable Doxygen tests when using Java 8 or older
Check Java version in configure and define SKIP_DOXYGEN_TEST_CASES if
it's less than 9, which is required by the new implementation of
CommentParser used in the Doxygen tests.
2019-12-18 16:24:28 +01:00
Vadim Zeitlin
a271785f1a Revert "Remove Travis osx java testing"
This reverts commit 66752cde48 as Doxygen
tests do pass with Java 13 now.
2019-12-18 02:45:06 +01:00
Vadim Zeitlin
66a7826192 Rewrite Doxygen unit tests for Java using Java 9 API
In particular, do not use com.sun.javadoc deprecated since Java 9 and
finally removed in Java 13, to allow the tests to run under modern JRE.

They don't run under Java 8 and earlier any more, but this shouldn't be
a huge problem nowadays and as SWIG output is independent from the Java
version used, it's enough to test it with modern Java versions.

Note that the tests themselves were changed only in the most minimal
way, to adapt them to the new way of running javadoc (which is now also
integrated into CommentParser itself instead of being duplicated in
every test).
2019-12-18 02:45:06 +01:00
Vadim Zeitlin
5a8875ca9d Don't crash if unexpected comment is found in Java Doxygen tests
Don't pass null pointer to BufferedWriter.write(), as this results in
NullPointerException.
2019-12-18 02:26:03 +01:00
Vadim Zeitlin
fe6968e5e2 Reuse existing variable in CommentParser code used in Java tests
No real changes, just a tiny simplification.
2019-12-18 02:24:01 +01:00
William S Fulton
aa47b4c438 Fix some C++11 identifiers with special meaning parsing problems
Fix parsing of C++11 identifiers with special meaning (final and override) when
they are used as part of the scope name of an identifier, such as a namespace name.

Closes #1679
2019-12-10 19:26:05 +00:00
William S Fulton
66752cde48 Remove Travis osx java testing
Removed until doxygen testing is ported to something that doesn't use
com.sun.javadoc which was remoed in jdk 13
2019-12-04 20:08:41 +00:00
William S Fulton
8122929ba9 Improve .NET docs.
Add minimum .NET version required
Issue #1623
[skip-ci]
2019-12-04 07:06:58 +00:00
William S Fulton
3d98179fd3 Temporarily remove broken Appveyor Python3 testing 2019-11-26 19:45:08 +00:00
William S Fulton
18b2dcd222 C# 'out' or 'ref' removal improvements in director typemaps.
- Add support to DOH Replace for not replacing inside C comments
- Fix removing 'out' or 'ref' when these are present in C comments
  in cstype typemaps.

Closes #1628
2019-11-26 19:39:28 +00:00
William S Fulton
6fb345feb2 'out' or 'ref' usage in a cstype typemap in directors
'out' / 'ref' was not always stripped out in parts of the
director code generation.

Issue #1628
2019-11-26 19:32:34 +00:00
Julien Schueller
b536702c01 Fix missing-field-initializers warning with Py3.8
Python 3.8 adds tp_vectorcall, tp_print is added for compat just for 3.8
https://github.com/python/cpython/pull/13185/files#diff-b5db2632fa7acaf3b44abb56f18b9615
2019-11-20 15:40:52 +01:00
John McFarland
e46e1655cd Minor workaround in doxygen_basic_translate_style3 test
With the "///" doxygen comment style, comments within a code block do
not get handled correctly.  Modifying the test to remove this case and
adding a note about it for future reference.
2019-11-02 10:43:52 -05:00
John McFarland
feea39f352 Add new test doxygen_basic_translate_style3.i
This is used to test the "///" style of doxygen comments.  Previously,
newlines in these doxygen comments were not handled correctly.
2019-11-02 10:43:52 -05:00
John McFarland
b93597b63b Fix for newline handling in doxygen "///" style comments
Previously, the newlines in "///" doxygen comments were being stripped
out, resulting in incorrect translation of the comments for Python and
Java.  During scanning, "///" comments are processed line by line,
whereas "/*" style get processed as a block with newlines intact.

The fix checks for the "///" style in scanner.c and manually adds a
newline at the end of each comment line.  Some extra logic is also
added to properly handle empty "///" comments and ensure that a
newline gets added for those, which would otherwise be skipped.
2019-11-02 10:43:50 -05:00
William S Fulton
cb5d7398b5 Fix bug in Python builtin support for keyword args
The fix is when using kwargs feature or -keyword.
The fix is in the argument error checking when wrapping zero
argument constructors only. Supplied keyword args were silently
ignored.

Issue #1595
2019-11-01 19:46:42 +00:00
John McFarland
0f07a8a08d Fix doxygen crash with empty comment
Parsing "/**/" with -doxygen would result in a crash due to
calculation of comment start/end that does not work for an empty
comment.  Fixed by catching this case prior to processing.  Added
simple regression test to doxygen_basic_translate.
2019-10-30 08:15:18 -05:00
John McFarland
f99eb0058b Fix pydoc null pointer dereference with missing arg type
Processing doxygen @param comments for a parameter whose name did not
appear in the function declaration would cause a segfault due to a
null pointer dereference.

Adding test cases for both variadic function (no specified arguments)
and @param comment that references an argument that is not named in
the function prototype.  Both of these cases previously segfaulted.
2019-10-27 18:19:42 -05:00
Thomas Reitmayr
18a3ef3911 Fix code generated for Ruby global variables
This commit fixes swig#1653 by creating a Ruby virtual variable
for a C/c++ global variable when SWIG is invoked with the
-globalmodule option.
2019-10-27 21:41:03 +01:00
Karl Wette
e4c38f0f67 Octave: remove use of ppa:kwwette/octaves 2019-10-16 18:17:29 +13:00
William S Fulton
97a107ed25
Merge pull request #1619 from emminizer/fix-msvc2019-python
Fix error in generated code for Python in MSVC 2019.
2019-10-01 08:12:58 +01:00
William S Fulton
4c86ed4980 Macros wrapped as constants documentation improvements.
Closes #1618
2019-10-01 08:05:35 +01:00
John McFarland
ae70993380 Update documentation for doxygen tags
Updates to supported/unsupported doxygen tags for both Java and
Python.  Document new support for \code and \param options.  Also
update documentation of various other tags as well as the list of
unsupported tags for python.
2019-09-15 10:59:03 -05:00
John McFarland
f8ed9d71a7 Fix doxygen translation of \p command for python
Doxygen writes this using typewriter font, so wrap in `` for python
2019-09-15 10:59:03 -05:00
John McFarland
c11172587c Fix doxygen handling of \em tag for python
In doxygen, \em is used for italics, so it should be wrapped in "*".
2019-09-15 10:59:03 -05:00
John McFarland
4ebc3e05ad Minor formatting updates to doxygen docs 2019-09-15 10:59:03 -05:00
John McFarland
1ac371369e Reformat tag lists in doxygen documentation
Reformat the tables of unsupported and ignored tags.  Previous table
format was not maintainable.  Changing to use multi-column lists, so
that entries can be easily sorted and updated.  The displayed order is
now by row instead of by column, which is decidedly easier to read.
Other than removing duplicates, no change to content.
2019-09-15 10:57:58 -05:00
William S Fulton
719eea090d Improve error handling calling PyObject_SetAttr
Less obscure error when setting 'this' on the SWIG proxy object
attempting to override __setattr__ in C++ (swig-user mailing list
query 19 Aug 2019).
2019-09-13 07:37:03 +01:00
Richard Beare
25a9e3552c ENH R abstract_access_runme
Improved the exception handling components of test.
2019-08-31 17:02:46 +10:00
Richard Beare
bb65049517 ENH R accessor processing test
Test of accessors generated via the new internal structures.
This test confirms that the old incorrect accessors are not
present and runs the correct version, confirming the values.
2019-08-30 22:31:46 +10:00
Richard Beare
aca44d9d3a Removed some remaining commented sections 2019-08-30 21:23:07 +10:00
Daniel Emminizer
9fc57f47bd Fix error in generated code for Python in MSVC 2019.
Visual Studio 2019 release builds:
error C4703: potentially uninitialized local pointer variable 'p' used
2019-08-29 09:10:41 -04:00
William S Fulton
c48d11ac17 Bump version to 4.0.2 2019-08-22 06:55:39 +01:00
John McFarland
08ff05c14c Add doxygen_code_blocks_runme.java
The code blocks test is intended to test code block language options
and python doctest translation that is supported for Python, but the
doxygen constructs are still recognized when translating comments for
Java (it is just that the code language option is not used).
2019-08-21 08:43:12 -05:00
William S Fulton
1e36f51346 Add swig-4.0.1 summary to release notes 2019-08-20 22:34:03 +01:00
William S Fulton
2c1ff4e8ce Add swig-4.0.1 release date 2019-08-20 19:47:57 +01:00
William S Fulton
f4208a0a41 R html docs formatting fixes.
[skip-ci]
2019-08-20 19:37:32 +01:00
William S Fulton
dfcc11042f Add %native Javascript to changes file 2019-08-20 18:57:35 +01:00
William S Fulton
6925ec796b Merge branch 'contrib/TekuConcept'
* contrib/TekuConcept:
  Dev Checkpoint 201908200213
  Dev Checkpoint 201906261312
  Dev Checkpoint 201906252227
  Dev Checkpoint 201906252221
  Dev Checkpoint 201906252210
  Dev Checkpoint 201906252113
  Add JS Native Directive Testcase
  JS Example Campatibility Update
  Add Native Directive Example
  Update JavaScript Documentation
  Add JS Native Wrapper API
2019-08-20 18:53:02 +01:00
Chris Walker
025269f121 Dev Checkpoint 201908200213 2019-08-20 02:13:50 -06:00
William S Fulton
5c2e0b2c5e Add SWIG_JavaIllegalStateException to changes file 2019-08-20 07:12:58 +01:00
William S Fulton
4f948d01d6 Merge branch 'illegal_state_except'
* illegal_state_except:
  [Java] Add support for throwing IllegalStateException
2019-08-20 07:06:46 +01:00
William S Fulton
1e8dad2084 Add note to changes file about Lua tostring change 2019-08-19 07:57:17 +01:00
William S Fulton
87a0dd2d90 Merge branch 'sjml-patch-1-lua-print'
* sjml-patch-1-lua-print:
  removing unnecessary bits
  closer match to Python's output
  typo
  actually seeing both is useful
  matching code conventions
  Lua userdata print pointing to wrapped memory
2019-08-19 07:48:23 +01:00
Brad Kotsopoulos
85edc6de99 [Java] Add support for throwing IllegalStateException 2019-08-18 23:33:11 -04:00
Ian Lance Taylor
62136ff782 Fix Go version check and Go in-tree example tests
Fixes #1607
2019-08-09 14:06:45 -07:00
Ian Lance Taylor
6b108c19e1 Restore setting of GOVERSIONOPTION
Accidentally removed in last commit.
2019-08-08 22:59:57 -07:00