Commit graph

18,893 commits

Author SHA1 Message Date
Brian Cole
edd36b28d2 Automatically coerce python 2.x unicode objects into UTF8 when passing to underlying code. 2015-12-19 03:44:27 +00:00
William S Fulton
0ae5bfa6e2 html links updates 2015-12-18 21:14:44 +00:00
William S Fulton
862b4c6138 Add a linkchecker target for checking broken links in SWIGDocumentation.html 2015-12-18 21:14:39 +00:00
William S Fulton
e069365775 html fixes 2015-12-17 13:57:17 +00:00
William S Fulton
53f4c92de6 Travis octave parallel builds set to 2 as -j quickly ran out of memory 2015-12-17 04:02:22 +00:00
William S Fulton
64dcd50b99 Remove dependency on yodl tools and remove ccache-swig man page
Use the CCache.html docs instead of the ccache-swig man page.
The yodl2man and yodl2html tools are no longer used and so SWIG no
longer has a dependency on these packages which were required when
building from git.

Closes #286
Closes #128
2015-12-17 02:36:48 +00:00
William S Fulton
9acf18939c Travis octave parallel builds change
Use the number of cpus available on Travis (currently 2) for parallel builds
2015-12-17 02:36:48 +00:00
William S Fulton
8d4a1f02fd Show Travis hardware info 2015-12-17 02:36:48 +00:00
William S Fulton
8320d484e8 Merge pull request #570 from besser82/bugfix/ccache-testsuite
Ignore locally installed ccache when running CCache unit tests
2015-12-16 15:01:55 -05:00
William S Fulton
f77839dfbf Initialize missing PyNumberMethods for Python 3.5 and -builtin
Add nb_matrix_multiply nb_inplace_matrix_multiply
2015-12-16 18:32:21 +00:00
William S Fulton
7dc5b224cb Fix recent Python -builtin changes for C code 2015-12-16 18:13:31 +00:00
William S Fulton
a39e2a07fb Changes file entry for Python exception fixes. 2015-12-16 13:23:38 +00:00
William S Fulton
b15ad9349e Merge branch 'coleb-python35_dtor_exception_fix'
* coleb-python35_dtor_exception_fix:
  Add test case for Python 3.5 assertion with a pending StopIteration
  Amend python_destructor_exception runtime test
  Call PyErr_WriteUnraisable if a destructor sets a Python exception (-builtin)
  Extended zjturner's changes to encompass all function dispatch and use PyErr_WriteUnraisable to handle exceptions during __del__.
  Python - Save and restore exception state before calling destroy.
2015-12-16 12:58:01 +00:00
William S Fulton
26f52c53f4 Add test case for Python 3.5 assertion with a pending StopIteration
Testcase for issue #559 #560 #573
2015-12-16 12:57:06 +00:00
William S Fulton
dd73d81933 Amend python_destructor_exception runtime test
Suppress the message that PyErr_WriteUnraisable writes to stderr,
but check that it is called by checking some of the expected message contents.
The output varies slightly for different versions of Python and -builtin
2015-12-16 12:57:05 +00:00
William S Fulton
e4264e7ba8 Call PyErr_WriteUnraisable if a destructor sets a Python exception (-builtin)
This fixes the python_destructor_exception testcase for -builtin
2015-12-16 12:57:00 +00:00
Björn Esser
1a977a2192 use sed only to filter CCache from $PATH 2015-12-16 11:07:45 +01:00
Björn Esser
790c729447 Ignore locally installed ccache when running CCache unit tests
original patch by David Sommerseth <davids@redhat.com>
2015-12-16 11:07:45 +01:00
Brian Cole
a863e98874 Extended zjturner's changes to encompass all function dispatch and use PyErr_WriteUnraisable to handle exceptions during __del__.
Also added test cases for the unnamed temporary destruction that is throwing assertions in Python 3.5.
2015-12-15 08:39:55 -07:00
William S Fulton
0c307b8a99 changes entry for missing initializers 2015-12-14 02:04:08 +00:00
William S Fulton
3e27d45b2a Merge branch 'ahnolds-python34'
* ahnolds-python34:
  Python tp_allocs -> tp_next corrections
  Cosmetic correction for Python tp_version -> tp_version_tag
  Add -Wmissing-field-initializers to python Travis testing
  Python 3.3 builtin missing field initializers added
  Adding tp_finalize field to PyTypeObject for Python 3.4 and -builtin
  Adding nb_matrix_multiply and nb_inplace_matrix_multiply fields to PyNumberMethods for Python version 3.5 and up
  Adding tp_finalize field to PyTypeObject for Python version 3.4 and up
2015-12-14 01:59:39 +00:00
William S Fulton
5f93c94e87 Python tp_allocs -> tp_next corrections
Updates for Python 2.5 and later and for -builtin.
2015-12-14 01:56:11 +00:00
William S Fulton
24b4a0fb94 Cosmetic correction for Python tp_version -> tp_version_tag 2015-12-14 01:29:43 +00:00
William S Fulton
fcb2ed1d10 Add -Wmissing-field-initializers to python Travis testing 2015-12-14 01:22:41 +00:00
William S Fulton
f7b9466dff Python 3.3 builtin missing field initializers added
Add in ht_qualname and ht_cached_keys for Python 3.3 and later
2015-12-14 01:22:41 +00:00
William S Fulton
5724195b8b Adding tp_finalize field to PyTypeObject for Python 3.4 and -builtin 2015-12-14 01:22:41 +00:00
William S Fulton
6b4e57245d Fix STL wrappers to not generate <: digraphs.
For example std::vector<::X::Y> was sometimes generated, now
corrected to std::vector< ::X::Y >.
2015-12-12 14:05:46 +00:00
William S Fulton
625a405b8e Add python inplace operator caveats to pyopers.swg
Observations reported in issue #562
2015-12-05 19:25:18 +00:00
William S Fulton
51ee23b580 Link to distutils fix 2015-12-05 19:25:18 +00:00
William S Fulton
ffd32797cc Switch appveyor to test Python 3.4 instead of 3.5 2015-12-05 11:28:24 +00:00
William S Fulton
c5322a9ecb Python use Py_ssize_t instead of int for better portability 2015-12-05 09:00:04 +00:00
William S Fulton
3bfffab9f9 Fix boost::array test for Visual Studio
Visual Studio doesn't set __cplusplus correctly when supporting c++11
2015-12-05 09:00:04 +00:00
William S Fulton
8c96b0de0b std::array unused parameter warning fixes 2015-12-05 09:00:04 +00:00
William S Fulton
327b59a574 size_type correction for SwigPySequence_Cont 2015-12-05 09:00:04 +00:00
William S Fulton
4c0db9d83d Python 3 on windows configure fix
For Appveyor, don't use python-config which comes from Cygwin
2015-11-28 18:52:27 +00:00
William S Fulton
80a8a7f0d8 boost::array test fix when using C++11 2015-11-28 18:49:22 +00:00
William S Fulton
ed044e4b8c Warning fix for Visual Studio 2015-11-28 18:48:52 +00:00
William S Fulton
93eb7eae0b Limited Python/Ruby support for boost::array
Hack to use the std::array support for boost::array.
Is limited as it currently exposes some 'using' bugs in SWIG.
For example, the type system fails to see that pointers to std::array
and pointers to boost::array are the same.

This approach saves having to maintain separate boost::array support.
The 'using' bug ought to be fixed, otherwise separate boost_array.i
files could be easily made from the std_array.i files.
2015-11-27 19:30:22 +00:00
William S Fulton
b69719eb5b changes file note and docs for std::array 2015-11-25 19:20:36 +00:00
William S Fulton
bb2523a003 Ruby STL container setting slices fixes
Setting an STL container wrapper slice better matches the way Ruby
arrays work. The behaviour is now the same as Ruby arrays. The only
exception is the default value used when expanding a container
cannot be nil as this is not a valid type/value for C++ container
elements.
2015-11-25 10:13:30 +00:00
William S Fulton
cd33aba427 Ruby STL container ranges and slices fixes.
Access via ranges and slices now behave identically to Ruby arrays.
The fixes are mostly for out of range indices and lengths.
- Zero length slice requests return an empty container instead of nil.
- Slices which request a length greater than the size of the container
  no longer chop off the last element.
- Ranges which used to return nil now return an empty array when the
  the start element is a valid index.
2015-11-25 09:19:13 +00:00
William S Fulton
97b129de6c Add out of bounds Ruby std::vector and std::array access testing
Also fix swig_assert_equal to work with nil as an expected input
2015-11-25 09:19:13 +00:00
William S Fulton
fe09f05beb Ruby STL container negative indexing support improved
Using negative indexes to set values works the same as Ruby arrays, eg

%template(IntVector) std::vector<int>;

iv = IntVector.new([1,2,3,4])
iv[-4] = 9 # => [1,2,3,9]
iv[-5] = 9 # => IndexError
2015-11-25 09:19:13 +00:00
William S Fulton
19c24a4f60 Ruby container testing enhancement - setting slices 2015-11-25 09:19:13 +00:00
William S Fulton
b8feb85f0e Add Ruby std_array.i - std::array wrappers 2015-11-25 09:19:05 +00:00
William S Fulton
55bbf68512 Add std::array container wrappers for Python
These work much like any of the other STL containers except Python slicing
is somewhat limited because the array is a fixed size. Only slices of
the full size are supported.
2015-11-17 07:27:48 +00:00
William S Fulton
4e8ea4e853 Python SystemError fix with -builtin
Fix error when append on a SWIG Object with -builtin:

  x.append(10)
  SystemError: error return without exception set

Having append and next methods on a SWIG object by default doesn't seem
right to me though.
2015-11-14 22:14:32 +00:00
Zachary Turner
2fa9454c9f Python - Save and restore exception state before calling destroy.
PyObject_CallFunction has the potential to silently drop the active
exception.  In cases where the user just finished iterating a
generator, StopIteration will be active.  Most of the time this
is fine because destroy() won't raise an exception.  On Python 3
however, and with a debug interpreter, you will get an assertion
failure inside of Python.  And in the worst case scenario, if
destroy() does throw an exception, the intepreter probably won't
be able to correctly detect the end of the iteration.
2015-11-13 21:07:44 -08:00
Alec Cooper
b7a3516801 Adding nb_matrix_multiply and nb_inplace_matrix_multiply fields to PyNumberMethods for Python version 3.5 and up 2015-10-28 16:42:53 -04:00
Alec Cooper
e79349d886 Adding tp_finalize field to PyTypeObject for Python version 3.4 and up 2015-10-27 20:12:03 -04:00