summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix case of expected functions and globalsgsoc2017-php7-classes-via-c-apiOlly Betts2021-05-043-3/+3
| | | | The updated tests.php is case sensitive.
* Add member_pointer_const_runme.phpOlly Betts2021-05-041-0/+59
|
* Rework tests.phpOlly Betts2021-05-048-86/+37
| | | | | | | | | | | Previously this relied on getting all known classes/functions/etc when it was loaded, and then again after the PHP module being tested was loaded. This approach no longer works now we've stopped loading modules using dl(), so use ReflectionExtension instead to get information about a specific extension. This is likely also faster than wading through lists including everything predefined by PHP.
* Fix and restore disabled code in PHP value exampleOlly Betts2021-05-041-1/+1
|
* Update details of PHP undefined constantsOlly Betts2021-05-041-8/+7
| | | | Since PHP 8.0 these now give an error.
* Don't generate a .php wrapper file by defaultOlly Betts2021-05-04101-176/+46
| | | | | | | | | | It's now only generated if something to put in it is specified via: %pragma(php) include=... or %pragma(php) code=...
* Fix segfault in exception class creationOlly Betts2021-05-042-49/+41
| | | | | We can't safely lookup the Exception class entry at MINIT time, but we can just use zend_ce_exception instead, which will be a bit faster too.
* Remove CG(active_class_entry) = NULL;Olly Betts2021-05-041-2/+0
| | | | | | | This has been in the code for a really long time, and doesn't seem to be required now. It's not documented by PHP as something we need to do, and the value seems to always be NULL at this point already.
* Document extension=modulenameOlly Betts2021-05-041-6/+14
| | | | | This works for PHP >= 7.2 and is the recommended method now as it avoids having to specify a filename which varies between platforms.
* Fix extension= value for PHP < 7.2Olly Betts2021-05-041-2/+2
|
* php: Stop using dl()Olly Betts2021-05-036-36/+43
| | | | | | | | With modern PHP it only works with the CLI version of PHP, so it's better to direct users to load the extension via "extension=" in php.ini. Suggested by ferdynator in #1529.
* Fix type in SWIG_DIRECTOR_CASTOlly Betts2021-05-031-1/+1
|
* Merge branch 'master' into gsoc2017-php7-classes-via-c-apiOlly Betts2021-05-0350-325/+271
|\
| * Remove support for $source and $targetOlly Betts2021-04-3027-279/+21
| | | | | | | | | | | | | | | | These were officially deprecated in 2001, and attempts to use them have resulted in a warning (including a pointer to what to update them to) for most if not all of that time. Fixes #1984
| * Support testing on AIX for tclWilliam S Fulton2021-04-282-3/+13
| | | | | | | | | | | | Contributed by Tony Reix Closes #1922
| * Fix Java %interface family of macrosWilliam S Fulton2021-04-2711-3/+154
| | | | | | | | | | | | when returning by const pointer reference Closes #1987
| * Update node support level is now v16William S Fulton2021-04-271-1/+1
| |
| * Node 16 uses c++14 featuresWilliam S Fulton2021-04-271-1/+1
| | | | | | | | v8 headers use std::remove_cv_t
| * Test node v16William S Fulton2021-04-272-3/+5
| |
| * Javascript node install on TravisWilliam S Fulton2021-04-261-0/+2
| | | | | | | | node-gyp 8 is now installed by default, but doesn't work with older Javascript versions
| * bool performance warning fixWilliam S Fulton2021-04-261-1/+1
| |
| * Disable Appveyor cygwin which has started to failWilliam S Fulton2021-04-261-2/+4
| |
| * Correct disabling of c++11 testingWilliam S Fulton2021-04-262-2/+2
| | | | | | | | | | | | 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
| * Member function pointer typemap tweaksWilliam S Fulton2021-04-265-19/+19
| | | | | | | | | | | | 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 &&)
| * Remove AC_HEADER_STDC replacement codeWilliam S Fulton2021-04-261-10/+2
| | | | | | | | | | | | | | | | | | | | 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
| * configure.ac tidyup after update (ccache)William S Fulton2021-04-261-14/+1
| | | | | | | | | | | | | | | | 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.
| * configure.ac update (ccache)William S Fulton2021-04-261-12/+21
| | | | | | | | Updated using autoupdate from autoconf 2.71
| * configure.ac updateWilliam S Fulton2021-04-261-3/+11
| | | | | | | | Updated using autoupdate from autoconf 2.71
| * Fix -Wchar-subscripts warningWilliam S Fulton2021-04-262-2/+2
| | | | | | | | warning: array subscript has type ‘char’ [-Wchar-subscripts]
| * Clean configure output detecting JavascriptcoreWilliam S Fulton2021-04-261-3/+3
| |
| * Appveyor Visual c++11 testingWilliam S Fulton2021-04-261-2/+2
| | | | | | | | | | Test cccl c++11 code Upgrade cccl-1.0 to cccl-1.2 for -std command line option support
| * Testing of C++14 and C++17 detection improvedWilliam S Fulton2021-04-261-3/+35
| | | | | | | | | | | | | | 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.
* | Adjust director_finalizer_runme.phpOlly Betts2021-05-031-5/+14
| | | | | | | | | | | | | | Without inventing a SWIG/PHP-specific mechanism, we can't really finalise objects in the way the testcase expects, so adjust the testcase minimally so we avoid triggering C++ undefined behaviour (use-after-free).
* | Implement director-disown for PHPOlly Betts2021-05-032-8/+42
| |
* | Only emit custom free_obj handler if neededOlly Betts2021-04-221-12/+14
| | | | | | | | | | If has_destructor isn't set then the default zend_object_std_dtor does everything necessary.
* | Fix directorout SWIGTYPE typemapsOlly Betts2021-04-223-7/+46
| |
* | Eliminate remaining use of $needNewFlowOlly Betts2021-04-222-8/+2
| |
* | Make PHP directors work more like other languagesOlly Betts2021-04-228-87/+49
| | | | | | | | | | | | 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).
* | Whitespace tweaksOlly Betts2021-04-222-5/+4
| |
* | Wrap pointer to member as object not resourceOlly Betts2021-04-222-19/+4
| |
* | Fix mixed declarations and codeOlly Betts2021-04-221-1/+2
| |
* | Pass NULL instead of an empty zend_function_entryOlly Betts2021-04-211-5/+1
| |
* | Just call the internal class entry internal_ceOlly Betts2021-04-211-11/+11
| | | | | | | | | | It's just a local variable, so no need to carefully name it after the class.
* | Use malloc() not emalloc() when free() gets usedOlly Betts2021-04-211-1/+1
| |
* | Use PTR instead of zv for SWIG_remove() parameterOlly Betts2021-04-211-2/+2
| | | | | | | | The parameter is a general pointer, not necessarily a zval.
* | Use $1 instead of result in out typemapsOlly Betts2021-04-211-2/+2
| |
* | Eliminate SWIG_SetZval()Olly Betts2021-04-213-32/+16
| | | | | | | | | | $needNewFlow is now only used for a different hack in a directorout typemap.
* | Remove bogus zend_string_release() in magic methodsOlly Betts2021-04-211-3/+0
| | | | | | | | We shouldn't be freeing the property name here.
* | Eliminate unused code in generated __isset methodsOlly Betts2021-04-211-5/+2
| |
* | Eliminate $needNewFlow from factory.iOlly Betts2021-04-211-2/+2
| | | | | | | | | | | | $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.