Commit graph

22,842 commits

Author SHA1 Message Date
Vadim Zeitlin
4801a3154e Delete never used variables in function wrapper code
No real changes, just don't bother allocating and deleting strings that
are never used at all.
2021-11-04 01:31:06 +01:00
Vadim Zeitlin
ad3db88e44 Add maybe_owned_dohptr helper
This class allows to avoid allocating a new DOH object unnecessarily if
we can reuse an existing one.

It is not used yet, but will be soon.
2021-11-04 01:31:06 +01:00
Vadim Zeitlin
ca56f14aa5 Refactor scoped_dohptr() to reuse its reset()
No real changes, just avoid some code duplication and add an optional
argument to reset() to make it more compatible with std::unique_ptr<>
and also more flexible.
2021-11-04 01:31:06 +01:00
Vadim Zeitlin
8014af974d Revert accidental change to Python example
This was done way back in f84342a30 (Modified parameter handling using
typemaps. 'Reference' example. Visibility hint now applies only to the
global functions., 2008-06-28), surely accidentally.
2021-11-04 01:31:06 +01:00
Vadim Zeitlin
7ddd9da130 Update the apt sources before trying to install anything
We need to refresh the information about the available packages before
trying to install them.
2021-11-02 19:57:01 +01:00
Vadim Zeitlin
63a229a40f Don't disable experimental warning for C in GHA workflow any more
This is not necessary any longer after the previous commit and is better
than setting SWIG_FEATURES in the workflow file, as this resulted in
showing "-w524" in the name of C CI build since the changes of 04a6ad3bb
(Add SWIG_FEATURES into GHA name, 2021-10-21), which was a bit ugly.
2021-11-02 17:51:14 +01:00
Vadim Zeitlin
9ac6ab3b8a Disable SWIGWARN_LANG_EXPERIMENTAL while running test suite for C
We really don't need all the warnings while testing, they are only
useful for SWIG users, not when developing it.
2021-11-02 17:51:14 +01:00
Vadim Zeitlin
080d3075e3 Rename getNamespacedName() to getProxyName()
This is a more logical name for this function, as it caches its return
value in "proxyname" attribute and doesn't really have much to do with
namespaces.

No real changes.
2021-10-30 21:11:02 +02:00
Vadim Zeitlin
0434b93cc9 Rename getProxyName() to getClassProxyName()
Show that this function only returns non-null result for classes, as
this was not at all obvious before.

No real changes.
2021-10-30 21:09:41 +02:00
Vadim Zeitlin
d7f06c3721 Reuse Swig_string_mangle() instead of using Replaceall()
Use the same function in getNamespacedName() which was already used in
getGlobalWrapperName() just below, this is more readable and more clear
than just replacing dots with underscores as we did before.

Also use scoped_dohptr instead of manual Delete() calls.

No real changes.
2021-10-30 18:51:19 +02:00
Vadim Zeitlin
1fb0de9e00 Don't call Swig_scopename_prefix() unnecessarily
No real changes, just make the code do what the comment said it did and
only use the namespace as prefix when "nspace" feature is on instead of
always trying to use it as prefix and then resetting it.

This required adding default ctor and assignment operator from raw
pointer to scoped_dohptr, but they can be useful elsewhere too, while
the actual code in getGlobalWrapperName() is simpler and more readable
now.

No real changes.
2021-10-30 18:47:12 +02:00
William S Fulton
8b5cd5f906 GHA: cleaner output 2021-10-22 15:44:36 +01:00
William S Fulton
cbbeb4298a GHA: Fix CSTD and CPPSTD usage 2021-10-22 15:44:27 +01:00
William S Fulton
cf8268d19e GHA: Remove go-1.3 testing
Results in error message:
/usr/bin/ld: -r and -pie may not be used together
Same problem on Ubuntu 18.04. Same with versions go-1.2 to go-1.5.
2021-10-22 15:03:49 +01:00
William S Fulton
87c50d811d Fix installation of Go from gimme
GHA does not have gimme pre-installed
2021-10-22 14:57:58 +01:00
William S Fulton
090b884481 Use source instead of . 2021-10-22 14:49:56 +01:00
William S Fulton
04a6ad3bb5 Add SWIG_FEATURES into GHA name 2021-10-22 14:49:01 +01:00
William S Fulton
c280d63a4d GHA: Add python 3.10 testing 2021-10-20 21:05:20 +01:00
William S Fulton
76d8e2cfaf
Merge pull request #2064 from jschueller/py310
[Python] Fix overload_simple_cast test with 3.10
2021-10-20 19:45:55 +01:00
William S Fulton
7a65f028f8 Update docs - python static members access
[skip-ci]
2021-10-20 11:53:18 +01:00
Vadim Zeitlin
2f6f6df211 Generate wrapper aliases only if requested and not by default
Defining the aliases by default results in conflicts when including
headers from multiple modules as e.g. SWIG_PendingException_get() is
defined in all of them, and could also easily result in other unwanted
clashes, so make this opt-in and update the examples and tests relying
on using the wrappers without the module prefix to define
SWIG_DEFINE_WRAPPER_ALIASES explicitly.
2021-10-20 01:57:20 +02:00
Vadim Zeitlin
d65d7d7df3 Make SWIGIMPORT definition more consistent with SWIGEXPORT
Use the same checks as for the definition of SWIGEXPORT in
swiglabels.swg.

Also avoid defining __DLL_IMPORT symbol with a reserved name.
2021-10-20 01:57:18 +02:00
William S Fulton
bfdbcdcf1a
Merge pull request #2088 from wsfulton/actions-gcc11
Github Actions enhancements.

Adds gcc-11 testing.
Refactor Github Actions by breaking up into more steps (Install Dependencies, Configure, Build, Test, Install SWIG).
Fix Octave test
2021-10-18 10:15:41 +01:00
William S Fulton
6c4125db0c GHA: apt-get update for Octave
To fix:
Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/main/m/mesa/libgl1-mesa-dev_21.0.3-0ubuntu0.3~20.04.2_amd64.deb  404  Not Found
2021-10-18 08:48:05 +01:00
Vadim Zeitlin
e41234c5bc Inject just the relevant part of changes.swg in generated code
Don't include the entire file, including its header comment, into the
generated code, but just the part that we want to appear there.

This looks nicer and is also more explicit and hence clear.
2021-10-15 23:16:42 +02:00
Vadim Zeitlin
e45d8f94fc Link C modules with libpthread under Unix systems
Specify -pthread option which should be universally supported under
non-{MSW,Mac} platforms by now and which is required under Linux to link
the tests using boost::shared_ptr<>, which uses pthread_mutex_xxx().
2021-10-15 23:02:39 +02:00
William S Fulton
fc31b9ab04 Add gcc11 testing 2021-10-15 08:15:14 +01:00
William S Fulton
206105bc3f GHA: Correctly unset SWIGJOBS for broken parallel language checks 2021-10-15 08:14:28 +01:00
William S Fulton
4df45013d5 Fix to find scripts in Tools 2021-10-15 08:14:28 +01:00
William S Fulton
d0b6cfeca4 Factor out common environment setup GHA steps 2021-10-15 08:14:28 +01:00
William S Fulton
aaf19fbf93 GHA: Fix regressions
The environment variables are not kept between runs, arg.
Temp hack to try and get export env working for Configure and Test steps.
2021-10-15 08:14:28 +01:00
William S Fulton
61983e04b0 Try save WITHLANG 2021-10-15 08:14:28 +01:00
William S Fulton
d7c2cbec38 GHA: clean up Configure step
Setup Javascript before running configure - may fix broken Javascript testing.
Configure step just configures now.
2021-10-15 08:14:28 +01:00
William S Fulton
7e97269452 Fix Install step 2021-10-15 08:14:28 +01:00
William S Fulton
b17416c187 GHA: remove useless diagnostics
This echo is out of sync with the script for some reason and
is rather pointless subsequent to the breaking up of the steps
2021-10-15 08:14:28 +01:00
William S Fulton
af68e7f618 GHA: Restore silent flag to building SWIG
There is too much cruft to wade through to find compiler warnings.
I check these once in a while for all compilers.
We could alternatively use -Werr, but at the risk of more broken builds.
2021-10-15 08:14:28 +01:00
William S Fulton
b1fe12182b GHA workflow break up
It's useful to see the configure step by itself, so split it out
from the installation of prerequisites.
The make install is verbose, put it in it's own step
Move checking of the errors test-suite and ccache checks from
the Build to Test step.
2021-10-15 08:14:28 +01:00
Vadim Zeitlin
e78c8f39ed Add minimal shared_ptr support
Enable the tests and support of shared_ptr in them for C (which required
disabling a previously passing, because not doing anything, attributes
test which is currently broken for unrelated reasons).
2021-10-15 01:26:22 +02:00
Vadim Zeitlin
d77e5d8b0e Enable C++11 testing for C backend
Not all C++11 tests pass, but some (and important ones) do, so do check
them.
2021-10-15 00:59:34 +02:00
Vadim Zeitlin
8d7c1c4227 Eliminate a separate FAILING_CPP_TESTS variable in C Makefile
Also undo the changes to common.mk originally done in this branch and
rendered unnecessary by de5e0c865 (C++11 testing moved to a configure
option, 2013-10-08) on master.
2021-10-15 00:57:25 +02:00
Vadim Zeitlin
10dbb92182 Remove another not failing unit test
This test doesn't really work, as directors support is not implemented
at all in C backend, but remove it from here to prevent reports from
"make check-failing" about "failing test passing".
2021-10-14 19:54:50 +02:00
Vadim Zeitlin
d0e979278e Re-enable passing li_std_pair_using test
This must have been fixed by fc1ebd7c1 (Add trivial but working
std::pair typemaps implementation, 2019-08-07).
2021-10-14 19:48:59 +02:00
Vadim Zeitlin
2b540ae2f5 Merge branch 'appveyor-ci-improvements'
Cancel builds of non-latest PR version on AppVeyor and other minor
improvements.

See #2085.
2021-10-14 00:26:54 +02:00
Vadim Zeitlin
3dd96d5b95 Allow using vector with classes without default ctor in C too
This is similar to be491506a (Java std::vector improvements for types
that do not have a default constructor., 2019-03-01) for Java, except we
don't have to bother with any compatibility constraints for this, not
yet used by anyone. module.
2021-10-07 22:03:47 +02:00
Vadim Zeitlin
5cbdae42d3 Revert "Use std/std_vector.i instead of a poor copy in c/std_vector.i"
This reverts commit d89a95a48c as,
finally, it's not worth trying to use UTL typemaps from C: this required
bad hacks for std::vector and would be even worse for std::map, so don't
bother with them and just correct the "poor" C typemaps to be slightly
less poor and use them instead.
2021-10-07 22:03:47 +02:00
Vadim Zeitlin
45bb179407 Expand "$null" in typemaps in C backend too
This is used in some exception-related typemaps, both in SWIG itself
(although they're not used with C backend currently) and outside of it.
2021-10-07 22:03:47 +02:00
Vadim Zeitlin
0706ed4d35 Add simple std::set<> typemaps too
This is similar to the previous commit for std::map<>.
2021-10-07 22:03:47 +02:00
Vadim Zeitlin
9efb508eda Fix std::map<> typemap
Use simple fixed typemap instead of trying to use the much more complex
one from the UTL which doesn't work for C.

Add a simple test case for std::map<>.
2021-10-07 22:03:47 +02:00
Vadim Zeitlin
b88491fe89 Add at least a very minimal run test for std::vector
The test is trivial, but still better than nothing.
2021-10-07 22:03:47 +02:00
Vadim Zeitlin
e1815634ec Clean the generated headers for C too
This fixes a check-maintainer-clean problem.
2021-10-05 01:34:32 +02:00