Commit graph

18,856 commits

Author SHA1 Message Date
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
William S Fulton
00ca9c07d1 Merge branch 'demi-rluddy-golang-unsigned-signed-char-not-string'
* demi-rluddy-golang-unsigned-signed-char-not-string:
  Revert reference change; update CHANGES.current
  Removed golang stringing for signed/unsigned char

Conflicts:
	CHANGES.current
2015-10-11 23:57:46 +01:00
Olly Betts
d0dd63e437 "concret" -> "concrete" 2015-10-12 11:24:07 +13:00
William S Fulton
3d681571e1 Merge pull request #498 from lyze/extend-cffi-typemap-machinery
Implement argout, freearg, and check for CFFI.
2015-10-11 22:11:09 +01:00
William S Fulton
593c452c37 Fix overloaded templates and default arguments
The defaultargs attribute was not being correctly set for functions with
default arguments when instantiated with %template.

Closes #529
2015-10-11 17:30:34 +01:00
William S Fulton
8173c5935e Show node pointer value when displaying a node tree
For easier debugging when using -debug-module, -debug-top etc
2015-10-10 15:19:52 +01:00
William S Fulton
d24694417f Fix typo in changes file 2015-10-10 13:59:54 +01:00
William S Fulton
b093d4b703 Travis testing - add Python 3.5 2015-10-10 01:26:30 +01:00
William S Fulton
3e9854d308 Fix incorrect director_classic_runme.py test
Python 3.5 and -builtin threw an error as the incorrect base was being
initialized.
2015-10-10 01:26:29 +01:00
William S Fulton
ef001de524 Support Python 3.5 and -builtin.
PyAsyncMethods is a new member in PyHeapTypeObject.
Closes#539
2015-10-10 01:25:52 +01:00
Ian Lance Taylor
7e40e523c3 [Go] Don't emit a constructor function for a director class with an
abstract method, since the function will always panic.

Fixes #435.
2015-10-06 13:55:39 -07:00
William S Fulton
9104adc60a Test case fix 2015-10-03 12:10:14 +01:00
William S Fulton
3585fd475b Add changes entry for anonymous typedef nested class fix
Issue #508
2015-10-01 22:40:09 +01:00
William S Fulton
fc2205e64d %shared_ptr support improvements for classes in an inheritance chain
Fix %shared_ptr support for private and protected inheritance.
- Remove unnecessary Warning 520: Derived class 'Derived' of 'Base'
  is not similarly marked as a smart pointer
- Do not generate code that attempts to cast up the inheritance chain in the
  type system runtime in such cases as it doesn't compile and can't be used.
Remove unnecessary warning 520 for %shared_ptr when the base class is ignored.
2015-10-01 22:36:01 +01:00
William S Fulton
803ba97a83 Update docs for shared_ptr 2015-10-01 22:36:01 +01:00
William S Fulton
e12277a469 Ruby shared_ptr fixes for use with minherit 2015-10-01 22:36:01 +01:00
William S Fulton
04fd4a9c68 Director smartptr testing - add Python test 2015-10-01 22:36:00 +01:00
Vladimir Kalinin
ec93b01a09 Issue #508: Classprefix is not restored after nested structures processing. Also, Classprefix is incorrectly checked in some places. 2015-10-01 15:06:42 +03:00
William S Fulton
350eff3687 Director smartptr testing
- Enhance Java and C# test
- Add Ruby test
2015-09-30 07:53:19 +01:00
William S Fulton
f266a588e0 Cosmetic comment fix in testcase 2015-09-30 07:06:40 +01:00
William S Fulton
aceb5743ec Ruby shared_ptr support added to changes file 2015-09-26 00:17:35 +01:00
William S Fulton
9d79864ae7 Merge branch 'ruby-shared-ptr'
* ruby-shared-ptr:
  Add more Ruby shared_ptr runtime tests
  Add RUBYFLAGS for Ruby testing
  li_boost_shared_ptr tests cleanup
  Ruby shared_ptr testing enhancements
  Add shared_ptr Ruby runtime test
  SWIG_Ruby_ConvertPtrAndOwn changes for smartptr feature
  Fix Ruby smartptr feature for classes in a namespace
  Turn on missing shared_ptr tests for Octave
  Turn on Ruby shared_ptr testing
  shared_ptr typemap error message fix for global variables
  Add Ruby shared_ptr support
  smartptr feature support - factor out common code
  Add Ruby shared_ptr typemaps
  Ruby ownership refactor ready for smart pointers
  Ruby free function declaration change
2015-09-26 00:16:02 +01:00
William S Fulton
a7cc3267bc Add more Ruby shared_ptr runtime tests 2015-09-26 00:12:57 +01:00
William S Fulton
004ae163e5 Add RUBYFLAGS for Ruby testing
make check RUBYFLAGS=-v can be useful
2015-09-25 23:15:25 +01:00
William S Fulton
4c2da8184b li_boost_shared_ptr tests cleanup
Remove some cruft
2015-09-25 23:14:34 +01:00
William S Fulton
f5a6e94466 Ruby shared_ptr testing enhancements
li_boost_shared_ptr_runme.rb: add garbage collection to properly check
expected reference counts
2015-09-25 22:58:01 +01:00
William S Fulton
2506ccd4f4 Add shared_ptr Ruby runtime test
Reference count tests not quite complete yet - need to be sure of
control of the garbage collector to test this reliably.
2015-09-25 22:58:01 +01:00
William S Fulton
146252ff21 SWIG_Ruby_ConvertPtrAndOwn changes for smartptr feature
rb_obj_is_kind_of can no longer be used for type checking as the
smartptr feature type, eg shared_ptr<Derived> cannot be cast to
a smartptr of the base class, eg shared_ptr<Base>.
Previously Derived could be cast to Base as they were in an
inheritance chain and the call to rb_define_class_under() used
SWIGTYPE_p_Base->clientdata for all derived classes.
Now SWIG_TypeCheck is always used.
2015-09-25 22:58:00 +01:00
William S Fulton
14e1c47288 Fix Ruby smartptr feature for classes in a namespace 2015-09-25 22:58:00 +01:00
William S Fulton
155233bea6 Turn on missing shared_ptr tests for Octave 2015-09-25 22:58:00 +01:00
William S Fulton
c089908f07 Turn on Ruby shared_ptr testing 2015-09-25 22:58:00 +01:00
William S Fulton
fcb383b46b shared_ptr typemap error message fix for global variables
$argnum was not being expanded in the generated code
Correct to use the error message from the standard typemaps
2015-09-25 22:57:59 +01:00
William S Fulton
c482637167 Add Ruby shared_ptr support 2015-09-25 22:57:59 +01:00
William S Fulton
faeaacf112 smartptr feature support - factor out common code 2015-09-25 22:57:59 +01:00
William S Fulton
4677dbb796 Add Ruby shared_ptr typemaps 2015-09-25 22:57:53 +01:00
William S Fulton
d20de7bcfc Merge pull request #522 from vadz/drop-tm-scope
Remove unused support for typemap scopes
2015-09-15 23:06:37 +01:00
Vadim Zeitlin
99b604518d Remove unused support for typemap scopes
The functions Swig_typemap_new_scope() and Swig_typemap_pop_scope() introduced
by 503746e964 back in 2000 were never used and
ended up being commented out themselves, but support for typemap scopes still
remain in several other functions. Remove it completely to make the code
simpler without any ill effects.
2015-09-15 03:08:57 +02:00
William S Fulton
3d1e20248f Ruby ownership refactor ready for smart pointers
ruby_owntype replaced with swig_ruby_owntype which contains a member own
for forthcoming smart pointer support.
2015-09-14 07:20:43 +01:00