Commit graph

22,680 commits

Author SHA1 Message Date
William S Fulton
bf24c11645 Correct default arg link in Python docs
[skip ci]
2016-05-06 07:36:53 +01:00
William S Fulton
c4b7605638 Add changes entry for Python operator/ fixes 2016-05-05 23:06:35 +01:00
William S Fulton
5e6ab1d61d Merge branch 'ejulien-python_operator_overload_test_suite'
* ejulien-python_operator_overload_test_suite:
  Add __str__ to operator_overload testcase for python builtin
  Python operator_overload runtime testcase cleanup
  Work around a limitation of the Python binding generator related to the += family of operators.
  Fix Python 3 division member operator when -builtin is not used.
  Fix class member division operator.
  Remove the PY3BUILTIN switch as its behavior can be achieved with the existing SWIG_FEATURES=-builtin switch.
  Implement the operator overload test suite for Python.

Conflicts:
	Examples/test-suite/operator_overload.i
2016-05-05 23:01:35 +01:00
William S Fulton
9ceee4ba87 Correct documentation link for Typemap delimiters 2016-05-05 21:12:54 +01:00
William S Fulton
e7f9a3e8f4 Add __str__ to operator_overload testcase for python builtin
Just for debugging the testcase with -builtin
2016-05-05 21:10:52 +01:00
William S Fulton
a09ef99606 Python operator_overload runtime testcase cleanup
Remove C test code comment ... this code is in operator_overload.i already
2016-05-05 20:28:22 +01:00
Vadim Zeitlin
b97612f1d6 Make check-failing-test make macro more hygienic
Minor fix to avoid using the variable defined outside of the macro in its
expansion.

See #665.
2016-05-03 17:23:25 +02:00
William S Fulton
3efdbc8f2e Don't issue unnecessary base class ignored message
Don't warn about base class being ignored when the derived class is
itself ignored.

Closes #669
2016-05-02 22:50:09 +01:00
William S Fulton
e28b7f1fcf Workaround cgo declarations after statements in Go Travis tests
These should be fixed when go-1.7 is released
2016-05-02 21:28:12 +01:00
William S Fulton
8666b99e74 Test Go 1.5 on Ubuntu Trusty on Travis
1.5 is the default version on Trusty (VER=1.5 added just for display on Travis)
2016-05-02 21:24:48 +01:00
William S Fulton
06657a9814 Merge pull request #668 from dnwillia-ansys/fix-gcc-warnings
Remove gcc warnings when using -Wconversion in SWIG_UnpackData.
2016-05-02 00:19:22 +01:00
William S Fulton
57f1c378b2 Remove JNI checks due to numerous spurious warnings in some versions of jdk-1.8
Was happening with openjdk-1.9 on Ubuntu 16.04 Xenial Xerus and also seen in jdk-1.8 on Fedora 23 (jdk-1.8.0_65-b17)
2016-05-01 17:35:55 +01:00
William S Fulton
cc15fcebd0 Fix java testcase for jdk-1.9
Package.getName() returns an empty string instead of null in jdk-1.9
exposing bug in use of replaceAll whose 1st arg is a regex expression.
2016-05-01 16:32:15 +01:00
William S Fulton
6db5556456 Add Lua 5.3 testing on Travis 2016-05-01 12:43:47 +01:00
William S Fulton
07b2f5ac09 Detect newer versions of Lua during configure 2016-05-01 11:53:29 +01:00
William S Fulton
e952a19a3d Fix examples for lua 5.3 2016-05-01 11:52:02 +01:00
William S Fulton
a8110e3761 Correct Python docs example
Fix PyTuple_SetItem in argout typemap
Fix from Bob Hood on swig-user mailing list
[skip ci]
2016-04-30 12:58:22 +01:00
Dan Williams
7bcf3ddc89 Remove gcc warnings when using -Wconversion. Right side of expressions are signed char. 2016-04-27 10:55:22 -04:00
Vadim Zeitlin
2e3b427b7e Get rid of unnecessary and confusing c:stype attribute
We can just use "type" directly, there is no need for any C-specific stype.
2016-04-21 18:58:33 +02:00
Vadim Zeitlin
2c65b4db5b Remove obsolete RCS ID line
No real changes.
2016-04-21 18:58:33 +02:00
Vadim Zeitlin
02c52331cd Return scoped_dohptr from get_wrapper_func_proto()
This ensures that the pointer is not leaked.

Unfortunately it requires adding a dangerous, std::auto_ptr<>-like destructive
copy ctor to scoped_dohptr<>, but there is no better solution without C++11.
2016-04-21 18:58:33 +02:00
Vadim Zeitlin
e2738ad524 Refactor: add parentheses in get_wrapper_func_proto() itself
Return the prototype strings already surrounded by parentheses instead of
having to add them in the caller.

No real changes.
2016-04-21 18:58:33 +02:00
Vadim Zeitlin
c971919e2f Merge almost identical code generating wrapper function arguments
Reuse get_wrapper_func_proto() for the wrapper function definitions too, this
cuts down on the amount of duplicated code and also ensures that declarations
and definitions match.
2016-04-21 18:58:33 +02:00
Vadim Zeitlin
00ef2c4c7d Remove unused functionWrapperCPPSpecificProxyWrapperCallGet()
This is identical to the main part of functionWrapperCPPSpecificWrapper() now
and it is not used anywhere.
2016-04-21 18:58:33 +02:00
Vadim Zeitlin
8cae88dd39 Get rid of separate cmodtype typemap
Use the same ctype for wrapper declarations and definitions and just expand
$resolved_type differently in the two cases.

This simplifies the typemaps and ensures that the declarations and definitions
use the same types, at least for all non-object parameters.
2016-04-21 18:58:32 +02:00
Vadim Zeitlin
5de29df38e Simplify typemaps by merging both const and "unconst" versions
We can always just use the "unconst" one because it works when the type is
used for a return value and is the same as the other one when it's used for a
parameter anyhow because top-level const is ignored in function signatures, so
don't bother defining two sets of macros when one will do.
2016-04-21 17:55:47 +02:00
Vadim Zeitlin
160074a025 Suppress warnings about no typemaps being defined in C test suite
In many (although perhaps not all, so don't suppress this warning
unconditionally) cases, there is no need for special typemaps in C, the
parameters can be just used directly, so this warning is harmless but it was
given many times during the test suite execution, distracting from more
important messages.
2016-04-21 15:23:27 +02:00
Vadim Zeitlin
806f79de14 No real changes, just rename "proxy_header" to "cheader"
Continue getting rid of "proxy" terminology, there is no proxy when using C
module, so it's confusing to use this term.
2016-04-21 15:18:22 +02:00
Richard Beare
85f0930f73 cleaned up constants 2016-04-21 18:11:56 +10:00
William S Fulton
e0728f582a Merge pull request #665 from vadz/check-failing
Add check-failing target to check that failing tests still do fail
2016-04-21 07:01:46 +01:00
Vadim Zeitlin
e2bb89ccb3 Replace unknown enums with int in the wrappers
An enum can be declared outside of the code wrapped by SWIG, just use int
instead of it then.
2016-04-21 01:37:42 +02:00
Vadim Zeitlin
41d46460b8 Add helper scoped_dohptr class
This is useful for avoiding having to explicitly write Delete() calls for DOH
objects.
2016-04-21 01:37:42 +02:00
Vadim Zeitlin
113ce5ae7d Add a blank line to the generated code
This is purely cosmetic: add an extra blank line after the __cplusplus ifdef
end.
2016-04-21 01:37:42 +02:00
Vadim Zeitlin
4b5e5d0cc8 Allow to use the original name of the global functions
It is impossible to have two functions with the same name inside the same
program, but it is possible to provide a #define to allow the user code to use
the original function name for the wrapper function, so do it for convenience.

Remove the old changes adding explicit "_wrap_" prefix to the examples and the
tests and remove the few more now passing tests from the list of failing tests.
2016-04-21 01:37:42 +02:00
Vadim Zeitlin
36fdd4e78f Wrap unknown type as opaque pointers
Don't give errors for the unknown types, instead wrap them using the mangled
name of the type.

This is the expected (even if not particularly useful) SWIG behaviour and
allows many more tests to pass.
2016-04-21 01:37:42 +02:00
Vadim Zeitlin
d9feedc37a Remove unnecessary SwigType_typedef_resolve_all() call
No real changes, just don't bother calling SwigType_typedef_resolve_all()
before calling classLookup() because the latter already does it anyhow.
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
2ec9d9da6e Don't try to export variables in namespace scope directly
The generated code, which used C++ scope operator "::" in a C header, didn't
compile and couldn't work anyhow.

Just use the accessor functions for not really global variables.
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
e39265ba13 Handle primitive types when expanding "resolved_type" in typemaps
Although the default typemaps only use "resolved_type" for non-simple types,
the generic SWIGTYPE typemap can also be applied explicitly to other types as
"apply_strings" and "char_binary" unit tests do.

In this case just use the original type unchanged if we can, this is enough to
make these tests pass.
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
4c654d9369 Give an error if unsupported type is encountered
This is better than silently generating completely wrong code with
$resolved_type in it and makes it easier to understand what exactly went wrong
and where.
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
59c131ea08 Fix broken anonymous_bitfield C checking code
For some reason the test expected another bit field be changed when setting
the given one, which was just plain wrong and prevented the test from passing.
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
b062a63cd1 Fix abstract_typedef C test code
Don't refer to the typedef name (especially with a typo in it...), it is not
supposed to be exported.

Also fix the write() method call: use the right class for it and pass it the
correct arguments.
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
e934c51425 Include stddef.h instead of stdio.h in the generated header
The sole reason for including this header seems to be to get size_t
declaration, so include the smallest header sufficient for this.

It would be even better to use a fragment for all size_t typemaps to only
include it if necessary, but it doesn't seem to be worth doing this right now.
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
b7bd0165e8 Remove more tests which pass now
All tests detected as passing by "make check-failing".
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
19268d0865 Add check-failing target to check that failing tests still do fail
This is useful to remove the tests which pass after the latest fixes from the
list of the failing tests.
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
3764ee1764 Make anonymous_bitfield test compile
It still doesn't pass, but at least include the correct header from it.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
af9dd72bb6 Fix function name in cpp_basic_template_function test
Use "_wrap_" prefix to make the test compile and pass.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
2edbbfd87f Fix cpp_basic_global_var_built_in unit test
Use the correct header name in it and remove it from the list of the failing
tests.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
7bb7fe135a Let cpp_basic unit test pass without method pointers support
This was the only part of the test that didn't work, test at least the rest of
it.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
e8c6bfbc8f Remove completely broken handling of member function pointers
Member function pointers can't possibly be represented as function pointers,
they have a strictly bigger size and attempting to do it resulted in code
which, with a lot of bad casts, compiled, but crashed during run-time.

The proper solution is to represent C++ method pointers with an appropriate
opaque type, but for now this remains broken -- just make it explicitly broken
instead of pretending that it works when it actually has no chance to.

Let "namespace_spaces" unit test pass, as it's not really related to the
function pointers, by adding an explicit SWIGC test to it.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
11fbdba9de Remove cpp_basic_template_class from the list of failing tests
It passes now.
2016-04-21 01:37:40 +02:00