Commit graph

22,859 commits

Author SHA1 Message Date
Olly Betts
cdcb8cc9ee [php] Try again to fix default_args_runme.php for PHP7 2022-06-12 15:02:26 +12:00
Olly Betts
3a84a4dd96 [php] Fix new default_args_runme.php for PHP < 7.3 2022-06-12 10:20:13 +12:00
Olly Betts
c95df57976 [php] Fix missing parameter type declarations
In some cases of overloaded functions the parameter type information was
missing for some or all parameters.

See #2151
2022-06-12 09:22:27 +12:00
Olly Betts
2df27036b7 [php] Skip directorout typemap if PHP exception pending
Otherwise can end up with a second PHP exception if the directorout
typemap doesn't accept PHP Null.  `SWIG_fail` in this case results
in us returning to PHP which then propagates the pending exception.

This commit fixes a failure in smoketest.php in Xapian's PHP bindings,
but I've not managed to come up with a reproducer which works for
SWIG's testsuite.
2022-06-10 16:01:05 +12:00
Olly Betts
b7f82d78e9 Fix director_classes_runme.php for PHP 7.0
PHP 7.0 fails to parse `?` before a parameter type (meaning Nullable in
newer versions), so just omit these parameter type declarations in
the testcase until we drop PHP 7.0 support.

Also drop some `var_dump($x);` left over from debugging this testcase.
2022-06-10 13:39:39 +12:00
Olly Betts
14df91f8a0 Fix new director_classes_runme.php for PHP7 2022-06-10 12:01:23 +12:00
Olly Betts
2de2efb0bb Fix PHP parameter type declarations compatibility
Ensure PHP parameter type declarations are compatible with those for
the same method in any classes we inherit from.

See #2151
2022-06-10 11:12:54 +12:00
Olly Betts
d43d62cd7a Revert "Fix PHP parameter type declarations compatibility"
I missed that this change breaks cpp_static, which seems to be to do
with handling the combined getter and setter we emit for static
member variables.  Reverting while I figure out how to handle that.

This reverts commit a277748870.
2022-06-09 17:55:09 +12:00
Olly Betts
a277748870 Fix PHP parameter type declarations compatibility
Ensure PHP parameter type declarations are compatible with those for
the same method in any classes we inherit from.

See #2151
2022-06-09 17:36:11 +12:00
Olly Betts
a8994d4186 Rename zend_types to be clearer
It's actually tracking pointer types which aren't wrapped as classes.
2022-06-09 12:49:30 +12:00
Olly Betts
d7ed1a8b97 [php] Eliminate sprintf to temp buffer to create ZVAL
Use zend_strpprintf() which handles this more cleanly without risk of
buffer overflow and without a fixed length limit.
2022-06-09 09:06:12 +12:00
Olly Betts
97a109ecc9 WIP: Refactor pararent class tracking 2022-06-08 17:41:00 +12:00
Olly Betts
a1b45a8333 [php] Add runme.php for two more testcases 2022-06-08 13:20:19 +12:00
Seth R Johnson
6254de05ef Avoid emitting locals duiring keyword typemap lookup 2022-06-04 14:19:15 +01:00
William S Fulton
28036e5a16 Documentation for attribute support in $typemap. 2022-06-04 14:19:15 +01:00
Seth R Johnson
5afc813842 Fix whitespace and memory leak 2022-06-04 13:55:24 +01:00
William S Fulton
da40946aaa Merge branch 'typemap-colon'
* typemap-colon:
  Incoporate review suggestions
  Allow referencing of typemap keywords inside of "$typemap("
2022-06-01 07:57:01 +01:00
William S Fulton
34c219b5f7 Merge branch 'imfunc'
* imfunc:
  Add special variable imfuncname expansion for C# and D
  Test and document imfuncname special variable expansion
  Update docs.
  Also expose  in proxyClassFunctionHandler
  Expose  to javaout typemaps.

Conflicts:
	CHANGES.current
2022-05-30 19:45:28 +01:00
William S Fulton
954f29b032 Add special variable imfuncname expansion for C# and D
Same functionality as Java
2022-05-30 19:43:04 +01:00
William S Fulton
62e0685df6 Test and document imfuncname special variable expansion 2022-05-30 19:00:04 +01:00
William S Fulton
1d6f4b4eae Merge branch 'java-director-leak'
* java-director-leak:
  Cosmetic tidyup in SWIG_JAVA_DETACH_ON_THREAD_END code
  Java: Move auxiliary methods into JObjectWrapper.
  Java: Option to detach from the JVM in the thread destructor.

Conflicts:
	CHANGES.current
2022-05-28 10:24:08 +01:00
William S Fulton
aef97a5783 Cosmetic tidyup in SWIG_JAVA_DETACH_ON_THREAD_END code 2022-05-28 10:22:34 +01:00
William S Fulton
8e3f0fd793 Suppress -Wregister gcc warnings in Python.h
Such as:
/usr/include/python2.7/unicodeobject.h:534:24: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]

Closes #2227
2022-05-27 20:01:57 +01:00
William S Fulton
7f009eddf0 Merge branch 'python'
* python:
  Define PY_SSIZE_T_CLEAN macro
  Python: define PY_SSIZE_T_CLEAN

Conflicts:
	CHANGES.current
2022-05-27 19:00:05 +01:00
William S Fulton
abc8e0bb27 Define PY_SSIZE_T_CLEAN macro
before #include "Python.h" as recommended in Python 3.7 and later.

Issue #2277
2022-05-27 18:58:04 +01:00
William S Fulton
34a27359ae Final tidy up for improved C# SwigDerviedClassHasMethod implementation 2022-05-26 08:44:51 +01:00
William S Fulton
b4cc35ddbc Merge branch 'csharp-strenghten-overload-check'
* csharp-strenghten-overload-check:
  Fix expanded director_basic test.
  Improve correctness of SwigDerivedClassHasMethod() by making sure only methods that have `override` are used connected by director.
2022-05-26 08:23:18 +01:00
Joachim Kuebart
36dc81808b Java: Move auxiliary methods into JObjectWrapper. 2022-05-24 14:34:09 +02:00
Joachim Kuebart
b58c554cde Java: Option to detach from the JVM in the thread destructor. 2022-05-23 17:17:18 +02:00
William S Fulton
1ad77e8c9b Add octave argc argv to readme file 2022-05-23 08:59:13 +01:00
William S Fulton
d5d5891866 Remove ocaml from argcargv testing 2022-05-23 08:54:40 +01:00
William S Fulton
c359f57442 Better Octave typecheck for argc argv typemaps 2022-05-23 08:51:06 +01:00
Erez Geva
34221f223a Add Octave argcargv.i
Signed-off-by: Erez Geva <ErezGeva2@gmail.com>
2022-05-21 23:07:58 +02:00
Xavier Delacour
96337b266c Octave argcargvtest 2022-05-21 18:48:54 +02:00
William S Fulton
35ec8ca210 Add argcargv test case to test-suite 2022-05-15 19:49:59 +01:00
William S Fulton
d60724b636 Merge branch 'more_argcargv'
* more_argcargv:
  Document argc argv library
  argcargv.i cosmetic updates
  Typemaps for (int ARGC, char **ARGV) fixup
  Fix argcargv.i in Perl5, Tcl, PHP Add missing type map for type check. Add testing of argcargv.i for Perl5, Tcl, PHP and Ruby.
  Add Lua test for argcargv.i
  Add argcargv.i to more languages: Perl 5, Tcl, PHP
  Add argcargv.i to Lua
2022-05-15 19:42:25 +01:00
William S Fulton
6860e2bc03 Document argc argv library 2022-05-15 19:12:39 +01:00
William S Fulton
e4cdf9d98f argcargv.i cosmetic updates 2022-05-15 18:32:53 +01:00
William S Fulton
0307d0732c Typemaps for (int ARGC, char **ARGV) fixup
The default typemap should not be in this library file - this is for
users to add in if they want C default argument support.
2022-05-15 18:21:59 +01:00
William S Fulton
b15fed7d2d Merge branch 'erezgeva-master' into more_argcargv
* erezgeva-master:
  Add Lua test for argcargv.i
  Add argcargv.i to Lua
2022-05-14 06:54:45 +01:00
Erez Geva
b88fe498ca Fix argcargv.i in Perl5, Tcl, PHP
Add missing type map for type check.
Add testing of argcargv.i for Perl5, Tcl, PHP and Ruby.

Signed-off-by: Erez Geva <ErezGeva2@gmail.com>
2022-05-11 01:10:12 +02:00
Erez Geva
5851eb09a2 Add Lua test for argcargv.i
Signed-off-by: Erez Geva <erezgeva2@gmail.com>
2022-05-10 20:13:55 +02:00
Heinrich Schuchardt
ca6a73277b Python: define PY_SSIZE_T_CLEAN
It is recommended to always define PY_SSIZE_T_CLEAN before including
Python.h. Cf. https://docs.python.org/3/c-api/intro.html

This avoids errors like:

    SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-05-10 19:37:07 +02:00
William S Fulton
6939d91e4c Header file tidyup
Fix Visual C++ warning in scilab.cxx:
  warning C4996: 'strtok': This function or variable may be unsafe.
2022-05-07 11:56:06 +01:00
William S Fulton
69dba70319 Visual C++ warning fix 2022-05-07 11:56:06 +01:00
William S Fulton
06cd77834c Add PyPy fix to changes file 2022-05-07 08:42:15 +01:00
William S Fulton
15d69ec270 Add runme.class file to Java test-suite clean 2022-05-07 08:17:48 +01:00
William S Fulton
a598abe23d Java wstring throws typemap improvements
Unicode still not working, but works now for ASCII charset.
2022-05-07 08:16:48 +01:00
William S Fulton
fd846be18b Remove some usage of strdup
To fix visual c++ warning:
  warning C4996: 'strdup': The POSIX name for this item is deprecated.
2022-05-07 07:09:44 +01:00
William S Fulton
72bb68d556 Visual C++ warning fix in Python < 3.2 builtin wrappers
Fixes:
warning C4311: 'type cast': pointer truncation from 'void *' to 'long'
warning C4302: 'type cast': truncation from 'void *' to 'long'
2022-05-07 06:22:25 +01:00