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.
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.
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.
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).
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
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 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
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.
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.
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).