Commit graph

21,823 commits

Author SHA1 Message Date
Zackery Spytz
bcfa927298 Fix typos in attribute2ref() in Lib/typemaps/attribute.swg
AccessorName was being used instead of AttributeName.

Closes #1872.
2021-02-09 09:21:14 -07:00
Zackery Spytz
c12ab1f012 Fix attribution error for Python buffers fix in CHANGES.current
[skip ci]

Closes #1940.
2021-02-01 20:41:54 +01:00
James Gerity
280b82c8ac Document lack of support for auto for C++ variables (#1125) 2021-01-19 10:03:56 +13:00
William S Fulton
b6c2438d7d
Merge pull request #1887 from jschueller/call
Drop deprecated PyEval_CallObject method
2020-10-16 21:39:07 +01:00
William S Fulton
380d14ea2f
Merge pull request #1888 from jschueller/sudo
Travis: sudo is useless now
2020-10-16 21:38:36 +01:00
Julien Schueller
9ed60ac7a0 Drop deprecated PyEval_CallObject method
see https://docs.python.org/3.9/whatsnew/3.9.html
2020-10-15 08:43:21 +02:00
Julien Schueller
8a4672edd1 Travis: sudo is useless now 2020-10-14 12:13:53 +02:00
William S Fulton
bc09d05174 testname typo fix 2020-10-10 17:59:17 +01:00
William S Fulton
638ca8152d complex can now be used as an identifier
Remove final vestiges of 'complex' keyword.

Closes #252
2020-10-10 16:07:55 +01:00
William S Fulton
8edb047785 Update changes file with complex fixes 2020-10-10 15:27:22 +01:00
William S Fulton
71a13e60de Quieten ccomplextest 2020-10-10 15:21:13 +01:00
William S Fulton
4b5baf0a60 0.0 float warning fix 2020-10-10 15:02:26 +01:00
William S Fulton
f318bb8286 Add missing clean targets
template_typedef_cplx2 files are generated by the template_typedef_import.multicpptest
but can also be cleaned by the template_typedef_cplx2.cpptest target.
2020-10-10 15:02:26 +01:00
William S Fulton
04e49b174b Further ccomplextest hacks
For visual c++ compilation when using creal and cimag.
2020-10-10 15:02:26 +01:00
William S Fulton
fd592fdc3b Split C complex.h from C++ complex testing 2020-10-10 15:01:29 +01:00
William S Fulton
9a2513bf85 Javascript v8 C complex wrappers fix 2020-10-10 14:53:46 +01:00
William S Fulton
57957787b7 Convert C++ comment to C comment 2020-10-10 14:53:46 +01:00
William S Fulton
2cbf7d725a Remove Remove runtime test for unsupported complex or _Complex by itself 2020-10-10 14:53:46 +01:00
William S Fulton
4f184500d7 Merge commit '8245277ad3' into c99-complex
* commit '8245277ad3':
  Remove test for unsupported complex or _Complex by itself
  More C99 complex fixes, plus Python tests
  Restore _Complex as standalone type
  Small corrections for handling C99 _Complex
  Properly handle C99 complex types even in C++ mode

Conflicts:
	Examples/test-suite/python/complextest_runme.py
2020-10-10 14:53:33 +01:00
William S Fulton
0034b3572e Update changes file 2020-10-07 22:42:56 +01:00
William S Fulton
b456449940 Update python_pybuffer_runme.py syntax for working under both python 2 and 3 2020-10-07 22:41:04 +01:00
William S Fulton
4d5f4bcd33 Merge branch 'PyBuffer_Release-pybuffer'
* PyBuffer_Release-pybuffer:
  Add tests.
  Fix the error handling for the PyObject_GetBuffer() calls in pybuffer.i
2020-10-07 22:37:17 +01:00
William S Fulton
b84cd9c53e Update changes file 2020-10-07 22:29:56 +01:00
William S Fulton
fe676f840a Merge branch 'director-return-const-pointer'
* director-return-const-pointer:
  Put test in alphabetical order
  Perform proper spacing in director method declarations
2020-10-07 22:26:25 +01:00
William S Fulton
339377410b Put test in alphabetical order 2020-10-07 22:21:37 +01:00
William S Fulton
8889635683
Merge pull request #1859 from adelva1984/no-host-exceptions
javascript: replace exceptions with SWIG_exit
2020-10-07 22:09:01 +01:00
William S Fulton
e71f781140
Apply suggestions from code review
Print errors to stderr instead of stdout
2020-10-07 22:06:47 +01:00
William S Fulton
61ea3c05de Add missing virtual destructor to testcase 2020-09-28 09:57:51 +01:00
William S Fulton
c1b004f4fa Add access modifier support for interface feature
Add ability to change the modifiers for the C# and Java
interface generated when using the %interface macros.

For C# use the 'csinterfacemodifiers' typemap.
For Java use the 'javainterfacemodifiers' typemap.

For example:

  %typemap(csinterfacemodifiers) X "internal interface"

Closes #1874
2020-09-25 18:54:25 +01:00
William S Fulton
c8ac73513b changes file entry for C# wchar_t csvarout fix 2020-09-24 22:39:01 +01:00
William S Fulton
71d4822860 Add Ruby test for wchar_t members in li_std_string testcase 2020-09-24 22:36:32 +01:00
Gareth Francis
33765e5025 Extend C# wchar_t member test to pass unicode strings 2020-09-12 17:19:15 +01:00
Gareth Francis
6db3ab0d05 Add test for wchar_t members to li_std_string.i 2020-09-12 17:04:28 +01:00
Gareth Francis
beb1d8498d Fix C# wchar_t* csvarout to be same as csout 2020-09-05 17:03:34 +01:00
Olly Betts
975f8fcfdb Avoid undefined behaviour in DOH Replace() function
If the source and replacement strings were the same length, the code
was performing undefined pointer arithmetic involving a NULL pointer.
I'm not aware of any observable effects of this in practice, but it's
potentially problematic.  It's detected by ubsan, for example when
running `make check-python-test-suite`:

DOH/string.c:839:4: runtime error: applying non-zero offset to non-null pointer 0x602000001558 produced null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior DOH/string.c:839:4 in
2020-09-04 10:44:49 +12:00
William S Fulton
b018c32f9d Fix crashes in swig_connect_director during director class construction.
Occurs when using the director class from multiple threads - a race condition
initialising block scope static variables.

Block scope static variables are guaranteed to be thread safe in C++11,
so the fix is guaranteed when using C++11. However, most modern compilers
also fix it when using C++03/C++98.

Closes #1862
2020-08-28 18:23:47 +01:00
William S Fulton
70e78d4125 Travis testing of Python 3.9 2020-08-27 20:23:19 +01:00
William S Fulton
e774fe5cfd Python 3.9 support for -builtin
Add missing initializer for member ‘_heaptypeobject::ht_module’ to complete
Python 3.9 support.
2020-08-27 20:22:39 +01:00
William S Fulton
bebb655975 Merge branch 'more-octave-fixes'
* more-octave-fixes:
  Octave: error() must be called with an argument
2020-08-27 19:45:32 +01:00
William S Fulton
9c50887daa Python 3.9 support
Remove PyEval_InitThreads() call for Python 3.7 and later as Python calls
it automatically now. This removes a deprecation warning when using Python 3.9.

https://docs.python.org/3/c-api/init.html#c.PyEval_InitThreads
2020-08-27 19:37:26 +01:00
Karl Wette
251ab662bf Octave: error() must be called with an argument 2020-08-27 17:19:13 +10:00
William S Fulton
01a2d5fe4c
Merge pull request #1861 from adelva1984/no-return-without-have-pcre
naming: Add unreachable return to !HAVE_PCRE path
2020-08-25 21:14:08 +01:00
William S Fulton
b1c0145fd3 Python 3.2 syntax error fixes in tests 2020-08-15 23:51:40 +01:00
William S Fulton
c5e078c437 Revert 2to3 modification
Use sys.maxint still for Python 2
2020-08-15 23:50:31 +01:00
William S Fulton
baec830f75 Merge branch 'remove-dependency-on-2to3'
* remove-dependency-on-2to3:
  Remove need for Python 2to3
  Modify examples to be both Python 2 and 3 compatible
  Remove python3 specific runme3.py test files
  Convert python tests using 2to3
  Convert python test scripts to be Python 2 and 3 compatible
  Convert swigobject python test to be python 2 and 3 compatible
  Convert two tests to work with both Python 2 and 3
  Improve director_exception Python test
  Remove further print statements from Python tests
  Improve Python testing catching exceptions
  Improve contract Python testcase testing
  Remove print statements from Python tests
2020-08-15 19:03:38 +01:00
William S Fulton
cc94e5168f Add missing test to python test-suite 2020-08-15 19:02:52 +01:00
William S Fulton
ec2b47ef2a Remove need for Python 2to3
All Python examples and tests have been written to be both Python 2 and Python 3
compatible, removing the need for 2to3 to run the examples or test-suite.

The 2to3 executable is not always available and even when available does not
always work, e.g. with pyenv. An alternative would be to use the lib2to3 Python
module instead, but this isn't available in some older versions of Python 3.

I had this problem on Ubuntu Bionic on Travis:

  checking Examples/python/callback
  pyenv: 2to3-3.8: command not found
  The `2to3-3.8' command exists in these Python versions:
    3.8
    3.8.1

Reference issues:
  https://github.com/pypa/virtualenv/issues/1399
  https://travis-ci.community/t/2to3-command-not-found-in-venv-in-bionic/4495
2020-08-15 18:04:58 +01:00
William S Fulton
89bee6a7fa Modify examples to be both Python 2 and 3 compatible
For removing dependency on 2to3
2020-08-15 16:46:01 +01:00
William S Fulton
bc7a067587 Remove Examples/contract
This set of examples was never tested/documented
There is an equivalent testcase in Examples/test-suite/contract.i
2020-08-15 12:26:21 +01:00
William S Fulton
2af35cb4ff Remove python3 specific runme3.py test files
This file can be run using Python 2, the test is just ignored
2020-08-15 12:20:23 +01:00