Commit graph

22,386 commits

Author SHA1 Message Date
William S Fulton
0d1f6338b8 Node 16 uses c++14 features
v8 headers use std::remove_cv_t
2021-04-27 21:13:17 +01:00
William S Fulton
0e9f89f900 Test node v16 2021-04-27 21:11:51 +01:00
William S Fulton
2b3522fc96 Javascript node install on Travis
node-gyp 8 is now installed by default, but doesn't work with older Javascript versions
2021-04-26 22:37:07 +01:00
William S Fulton
8a21922f1a bool performance warning fix 2021-04-26 22:32:52 +01:00
William S Fulton
bbb49a203e Disable Appveyor cygwin which has started to fail 2021-04-26 22:32:52 +01:00
William S Fulton
f14c712001 Correct disabling of c++11 testing
C++11 testing was not being turned off when the
C++ compiler check for C++11 features failed and
'configure --enable-cpp11-testing' was used
2021-04-26 22:32:52 +01:00
William S Fulton
13158bda9a Member function pointer typemap tweaks
Use sizeof variable name rather than variable type.
Workaround Visual C++ unable to parse some complex C++11 types, such as
  sizeof(short (Funcs::*)(bool) const &&)
2021-04-26 22:32:52 +01:00
William S Fulton
abcae7c68b Remove AC_HEADER_STDC replacement code
Remove replacement code added in by autoupdate.
Go with recommendation to unconditionally include C headers
(which we have been doing all along).

Minimum autoconf version can be restored back to what it was.

We do need AC_PROG_EGREP - used by AC_EGREP_CPP
2021-04-26 22:32:52 +01:00
William S Fulton
f822a6f091 configure.ac tidyup after update (ccache)
We don't use TIME_WITH_SYS_TIME
Don't check for sys/time.h twice
Minimum version was 2.52 before upgrade, no need to enforce 2.71
Set it to 2.60 (same as main swig configure.ac) - new macros
introduced by autoupdate are in 2.60.
2021-04-26 22:32:52 +01:00
William S Fulton
5ef26675cc configure.ac update (ccache)
Updated using autoupdate from autoconf 2.71
2021-04-26 22:32:52 +01:00
William S Fulton
0c3da29dc3 configure.ac update
Updated using autoupdate from autoconf 2.71
2021-04-26 22:32:52 +01:00
William S Fulton
661cd54526 Fix -Wchar-subscripts warning
warning: array subscript has type ‘char’ [-Wchar-subscripts]
2021-04-26 22:32:52 +01:00
William S Fulton
fb0c4aeb53 Clean configure output detecting Javascriptcore 2021-04-26 22:32:52 +01:00
William S Fulton
ad876e8189 Appveyor Visual c++11 testing
Test cccl c++11 code
Upgrade cccl-1.0 to cccl-1.2 for -std command line option support
2021-04-26 22:32:52 +01:00
William S Fulton
0a99192339 Testing of C++14 and C++17 detection improved
Previously if the compiler was detected to support c++11,
-std=c++11 was set preventing c++17 code from being properly tested.
Now c++14 and c++17 support is looked for and the -std flag is
appropriately set to the compiler's maximum supported version.
2021-04-26 22:32:52 +01:00
Olly Betts
3c4342e66a Only emit custom free_obj handler if needed
If has_destructor isn't set then the default zend_object_std_dtor
does everything necessary.
2021-04-22 18:44:16 +12:00
Olly Betts
837dfa1e7e Fix directorout SWIGTYPE typemaps 2021-04-22 17:51:14 +12:00
Olly Betts
a6a52f2f79 Eliminate remaining use of $needNewFlow 2021-04-22 15:14:38 +12:00
Olly Betts
50426aae20 Make PHP directors work more like other languages
A PHP exception now gets translated to a C++ exception to skips over C++
code to get back to PHP, avoiding the need to gate every directorout
typemap on EG(exception).
2021-04-22 14:40:21 +12:00
Olly Betts
10d87100ea Whitespace tweaks 2021-04-22 12:25:13 +12:00
Olly Betts
ad61e33e22 Wrap pointer to member as object not resource 2021-04-22 07:56:25 +12:00
Olly Betts
50b13275dc Fix mixed declarations and code 2021-04-22 07:42:39 +12:00
Olly Betts
5e2114501f Pass NULL instead of an empty zend_function_entry 2021-04-21 19:11:21 +12:00
Olly Betts
af5030bca1 Just call the internal class entry internal_ce
It's just a local variable, so no need to carefully name it after
the class.
2021-04-21 18:34:26 +12:00
Olly Betts
2920ba1cf6 Use malloc() not emalloc() when free() gets used 2021-04-21 18:18:59 +12:00
Olly Betts
3f9723b896 Use PTR instead of zv for SWIG_remove() parameter
The parameter is a general pointer, not necessarily a zval.
2021-04-21 18:16:56 +12:00
Olly Betts
49d5909b08 Use $1 instead of result in out typemaps 2021-04-21 18:16:08 +12:00
Olly Betts
33feca7527 Eliminate SWIG_SetZval()
$needNewFlow is now only used for a different hack in a directorout
typemap.
2021-04-21 18:16:08 +12:00
Olly Betts
ac676d1a6c Remove bogus zend_string_release() in magic methods
We shouldn't be freeing the property name here.
2021-04-21 18:16:08 +12:00
Olly Betts
508d9f7279 Eliminate unused code in generated __isset methods 2021-04-21 18:16:08 +12:00
Olly Betts
5577257301 Eliminate $needNewFlow from factory.i
$needNewFlow in an output typemap is now only relevant when wrapping
to a PHP __construct method, and there the return type is known so
factory.i isn't useful.
2021-04-21 16:32:56 +12:00
Olly Betts
2804e3b208 Fix mixed declarations and code 2021-04-21 16:05:41 +12:00
Olly Betts
3e8373b09a Merge branch 'master' into gsoc2017-php7-classes-via-c-api 2021-04-21 16:05:24 +12:00
Olly Betts
f198ff0a43 Fix more "allows to" and other typos 2021-04-21 15:54:46 +12:00
Even Rouault
abda4caeae swigrun.swg: fix typo
Spotted by lintian QA tool used by Debian packaging
2021-04-21 15:49:15 +12:00
Olly Betts
1d617c2b9b perl5: Enable more testcases 2021-04-21 15:46:41 +12:00
Olly Betts
5840aca0d9 php: Enable more testcases 2021-04-21 15:46:41 +12:00
Olly Betts
c705ef8f32 Use PHP objects instead of resources to wrap pointers
Pointer to member is currently still wrapped as a resource.
2021-04-21 15:40:35 +12:00
Olly Betts
f1aaeeea1c Fix -prefix to prefix PHP class names 2021-04-20 18:23:23 +12:00
Olly Betts
26f218327b Don't special case NULL in the REF in typemap
PHP doesn't accept literal NULL for a parameter passed by reference;
passing a variable with a value of NULL is just like passing a
variable with a different value - we get a PHP reference to the
variable, not NULL.
2021-04-20 16:24:18 +12:00
Olly Betts
f24ea7c162 php: Enable prefix testcase
This tests that the SWIG/PHP -prefix command line option works.  It
has a _runme.php and the testcase passes, but it wasn't listed to
be run.
2021-04-20 12:11:13 +12:00
Olly Betts
f45bf4db23 php: Fix director_profile_runme.php
Since 76c2c4675b the fn method is
renamed to c_fn, because `fn` was added as a keyword in PHP 7.4.
2021-04-20 12:04:02 +12:00
Olly Betts
d084173ee7 php: Enable testcase director_stl
This already had a _runme.php which passes as-is, but wasn't listed to
be run.
2021-04-20 12:02:21 +12:00
Olly Betts
e44ac904c4 java: Remove duplicate li_std_map entry
It's in CPP_STD_TEST_CASES so no need for Java to specifically add
it to CPP_TEST_CASES.
2021-04-20 11:56:27 +12:00
Olly Betts
ff1c88f5ba Hook up sym testcase
This has existed since at least the "great merge" and even has a
_runme.php, but seems to have never actually been listed as a testcase
to run.
2021-04-20 11:56:27 +12:00
Olly Betts
b1923af3ee Remove left-over arrayptr_runme.php
The arrayptr testcase was eliminated back in 2003 by
da53ad7bf2.
2021-04-19 19:06:10 +12:00
Olly Betts
1bf23edc06 Remove PHP-specific testcase workarounds
The changes on this branch mean these are no longer required.
2021-04-19 18:57:17 +12:00
Olly Betts
9a82261e4a Fix GCC -Wstringop-truncation warning
The code in testcase memberin_extend_c would end up without a
terminating nul if passed a 50 byte string, and then make_upper()
would run off the end of the buffer.

Fix by using strncat() (which always nul terminates the result, and
also doesn't zero-fill the tail of the buffer if the result is
shorter).
2021-04-19 18:13:02 +12:00
Olly Betts
8d09b1263b Fix GCC -Wsign-compare warning 2021-04-19 17:54:21 +12:00
Olly Betts
06350181d2 Merge branch 'master' into gsoc2017-php7-classes-via-c-api 2021-04-19 17:43:46 +12:00