Commit Graph

331 Commits

Author SHA1 Message Date
Dmitry Stogov
c774ca8d80 Merge branch 'PHP-7.4'
* PHP-7.4:
  Allow to fetch function address
2020-03-12 11:41:12 +03:00
Dmitry Stogov
ecdaf83f5f Allow to fetch function address 2020-03-12 11:40:48 +03:00
Xinchen Hui
583c7a4cbb Merge branch 'PHP-7.4' 2020-03-12 15:45:07 +08:00
Xinchen Hui
22c83454d6 Folder mark missed 2020-03-12 15:43:15 +08:00
Dmitry Stogov
c45552e32b Export FFI::__BIGGEST_ALIGNMENT__ 2020-03-11 15:29:58 +03:00
Dmitry Stogov
e902e4acd9 Allow to fetch function address 2020-03-11 15:13:27 +03:00
Máté Kocsis
960318ed95
Change argument error message format
Closes GH-5211
2020-02-26 15:00:08 +01:00
Nikita Popov
abfdfc9ff8 Add return types to FFI methods
The FFI class is final, so we can use proper return types.
2020-02-18 10:28:43 +01:00
Máté Kocsis
ac0853eb26
Make type error messages more consistent
Closes GH-5092
2020-02-17 14:22:17 +01:00
Dmitry Stogov
53fc8ef41d Merge branch 'PHP-7.4'
* PHP-7.4:
  Disable instantiation of zero size FFI\CData objects
  Fix # 79171: heap-buffer-overflow in phar_extract_file
  Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
  Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
2020-02-17 12:54:11 +03:00
Dmitry Stogov
54ecf57fe2 Disable instantiation of zero size FFI\CData objects 2020-02-17 12:48:55 +03:00
Nikita Popov
f8d795820e Reindent phpt files 2020-02-03 22:52:20 +01:00
Nikita Popov
169805777c Merge branch 'PHP-7.4'
* PHP-7.4:
  Apply tidy formatting
2020-02-03 13:42:08 +01:00
Máté Kocsis
d1764ca330
Make error messages more consistent by fixing capitalization
Closes GH-5066 As a first step, let's capitalize their initial letter when it is applicable.
2020-01-17 14:52:46 +01:00
Christoph M. Becker
127d6f3f39 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79096: FFI Struct Segfault
2020-01-14 16:47:24 +01:00
Christoph M. Becker
05f3cd23ed Fix #79096: FFI Struct Segfault
We must not assume that the size of a function's return value is at
most `sizeof(ffi_arg)`, but rather have to use the size which already
has been determined for the return type if it is larger than
`sizeof(ffi_arg)`.

To be able to have a regression test, we export the required test
function from the zend-test extension, and make sure that the test
can be run on different platforms regardless of whether zend-tests was
built statically or dynamically.
2020-01-14 16:46:58 +01:00
Nikita Popov
9b6c0bdcd6 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove support for preloading on Windows
2020-01-06 22:42:31 +01:00
Nikita Popov
59c3ddab13 Remove support for preloading on Windows
Due to ASLR restrictions, preloading on Windows does not work with
any code that has preloading dependencies on internal classes.
This effectively makes it unusable for any non-trivial codebase.

Instead of pretending like preloading is going to work, only to
make people realize that it really doesn't once they get beyond
a dummy example, we disable support for preloading on Windows
entirely.

Closes GH-4999.
2020-01-06 22:41:55 +01:00
Máté Kocsis
aadd3aaed9
Use RETURN_THROWS() in various places 2020-01-03 21:10:24 +01:00
Máté Kocsis
349a286461
Use RETURN_THROWS() after zend_throw_error() 2020-01-01 16:42:30 +01:00
Christoph M. Becker
3fafa19777 Merge branch 'PHP-7.4'
* PHP-7.4:
  Skip test for clang builds
2019-12-27 15:11:51 +01:00
Christoph M. Becker
58cc66e175 Skip test for clang builds
On Windows, clang builds don't use __vectorcall, so executing this test
does not make sense.
2019-12-27 15:09:19 +01:00
Christoph M. Becker
2804ea6127 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix test case for Windows
2019-11-11 12:56:55 +01:00
Christoph M. Becker
ce047e6091 Fix test case for Windows 2019-11-11 12:49:32 +01:00
Dmitry Stogov
6e9dd13d63 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #78714 (funcs returning pointer can't use call convention spec)
2019-11-11 12:09:47 +03:00
Dmitry Stogov
ecd0c5b6ad Fixed bug #78714 (funcs returning pointer can't use call convention spec) 2019-11-11 12:07:48 +03:00
Christoph M. Becker
fe13066403 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #78761: Zend memory heap corruption with preload and casting
2019-10-30 19:50:22 +01:00
Christoph M. Becker
0055f1e3dc Fix #78761: Zend memory heap corruption with preload and casting
We have to reset `FFI_G(persistent)` back to zero when preloading has
finished.
2019-10-30 19:49:39 +01:00
Christoph M. Becker
9b817264eb Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #78762: Failing FFI::cast() may leak memory
2019-10-30 17:22:56 +01:00
Christoph M. Becker
1e2d3d58a8 Fix #78762: Failing FFI::cast() may leak memory
We have to release objects when we're done with them.
2019-10-30 17:21:58 +01:00
Christoph M. Becker
22523958f4 Skip test case on non Windows platforms 2019-10-29 10:05:31 +01:00
Christoph M. Becker
657f7e898d Merge branch 'PHP-7.4'
* PHP-7.4:
  Skip test case on non Windows platforms
2019-10-29 09:57:27 +01:00
Christoph M. Becker
c5e1a0454f Skip test case on non Windows platforms 2019-10-29 09:53:44 +01:00
Christoph M. Becker
3dbb90b07e Fix test cases for master 2019-10-29 09:35:16 +01:00
Christoph M. Becker
6c078d8bd5 Merge branch 'PHP-7.4'
* PHP-7.4:
  Implement #78270: Support __vectorcall convention with FFI
2019-10-29 08:58:17 +01:00
Christoph M. Becker
bedbecf56d Implement #78270: Support __vectorcall convention with FFI
To work around the limitation of the current rudimentary vectorcall
support in our patched libffi, we forbid yet unsupported declarations,
i.e. float/double parameters at certain positions (SIMD vector types
and HVA types are not supported anyway).
2019-10-29 08:57:43 +01:00
Remi Collet
ff09d39328 Merge branch 'PHP-7.4'
* PHP-7.4:
  Added suppot for glob() wildcard matching in ffi.preload directive
  Reverting push to wrong repo
  Update alloc patch
2019-10-24 07:40:27 +02:00
Dmitry Stogov
fea8c5481b Added suppot for glob() wildcard matching in ffi.preload directive 2019-10-24 07:40:07 +02:00
Dmitry Stogov
aacea14359 Merge branch 'PHP-7.4'
* PHP-7.4:
  Ignore ZEND_FFI_TYPE_OWNED flag
2019-10-23 19:54:52 +03:00
Dmitry Stogov
c744531fff Ignore ZEND_FFI_TYPE_OWNED flag 2019-10-23 19:50:58 +03:00
Remi Collet
3d9bbd1b53 Merge branch 'PHP-7.4'
* PHP-7.4:
  add new ffi.preload  option in php.ini and display ini entries in MINFO
2019-10-23 07:49:29 +02:00
Remi Collet
dcd772325d add new ffi.preload option in php.ini and display ini entries in MINFO 2019-10-23 07:49:13 +02:00
Christoph M. Becker
d04297a899 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix typo
2019-10-22 17:54:28 +02:00
Christoph M. Becker
598bf7f5d5 Fix typo 2019-10-22 17:53:34 +02:00
Dmitry Stogov
626a5837c0 Merge branch 'PHP-7.4'
* PHP-7.4:
  Allow loading FFI bindings through ffi.preload directive
2019-10-22 17:53:24 +03:00
Dmitry Stogov
1417352dda Allow loading FFI bindings through ffi.preload directive 2019-10-22 17:52:56 +03:00
Christoph M. Becker
c6cdfa967c Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #78716: Function name mangling is wrong for some parameter types
2019-10-22 11:39:40 +02:00
Christoph M. Becker
1c9bfcb6a7 Fix #78716: Function name mangling is wrong for some parameter types
We have to cater to function parameter alignment when calculating the
parameter size.
2019-10-22 11:38:58 +02:00
Dmitry Stogov
b02b81299c Comparison cleanup:
- introduce zend_compare() that returns -1,0,1 dirctly (without intermediate zval)
- remove compare_objects() object handler, and keep only compare() handler
2019-10-07 17:57:49 +03:00
Gabriel Caruso
5d6e923d46
Remove mention of PHP major version in Copyright headers
Closes GH-4732.
2019-09-25 14:51:43 +02:00
Christoph M. Becker
0c7124e6be Add check_only parameter to get_closure handler
`get_closure` handlers are called to check whether an object is
callable, and to actually get the closure, respectively.  The behavior
of the handler might differ for these two cases, particularly the
handler may throw in the latter case, but should not in the former.

Therefore we add a `check_only` parameter, to be able to distinguish
the desired purpose.
2019-09-24 16:08:42 +02:00
Christoph M. Becker
d6ef63db53 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #78543: is_callable() on FFI\CData throws Exception
2019-09-19 09:17:53 +02:00
Christoph M. Becker
9dfbcd7248 Fix #78543: is_callable() on FFI\CData throws Exception
If `Z_OBJ_HANDLER_P(callable, get_closure)` throws, we must not let the
exeception pass to userland, if called through `is_callable()`.
2019-09-19 09:13:22 +02:00
Nikita Popov
2cafaab885 Merge branch 'PHP-7.4' 2019-09-17 13:15:01 +02:00
Nikita Popov
d266ba4f2d Check for exception after calling count_values()
To avoid a duplicate error if count_values() throws.
2019-09-17 13:13:44 +02:00
Dmitry Stogov
e5af673e45 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bad format string
2019-09-11 00:53:30 +03:00
Dmitry Stogov
5f555fb19e Fixed bad format string 2019-09-11 00:52:54 +03:00
Dmitry Stogov
0128f6eb84 Merge branch 'PHP-7.4'
* PHP-7.4:
  NEWS entry, test and minor cleanup for FFI::isNull()
  add FFI::isNull() to check whether a FFI\CData is a null pointer
2019-09-10 11:34:08 +03:00
Dmitry Stogov
21c3cdf668 NEWS entry, test and minor cleanup for FFI::isNull() 2019-09-10 11:23:12 +03:00
Philip Hofstetter
f6ff7eb335 add FFI::isNull() to check whether a FFI\CData is a null pointer 2019-09-10 11:03:51 +03:00
Dmitry Stogov
d40d0faa90 Merge branch 'PHP-7.4'
* PHP-7.4:
  Stop after exceptions
2019-09-10 11:02:03 +03:00
Dmitry Stogov
ea92b9b655 Stop after exceptions 2019-09-10 11:01:36 +03:00
Dmitry Stogov
1db0bad6a7 Fixed bug #78488 (OOB in ZEND_FUNCTION(ffi_trampoline)). 2019-09-04 12:16:12 +03:00
Dmitry Stogov
8a393ec886 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #78488 (OOB in ZEND_FUNCTION(ffi_trampoline)).
2019-09-04 12:14:15 +03:00
Dmitry Stogov
d03d369fdb Fixed bug #78488 (OOB in ZEND_FUNCTION(ffi_trampoline)). 2019-09-04 12:13:49 +03:00
Nikita Popov
a98307df87 Make arginfo printing of prefer-ref arguments nicer 2019-08-26 15:39:39 +02:00
Christoph M. Becker
e047e9d893 Add ext/ffi stubs 2019-08-26 15:25:27 +02:00
Christoph M. Becker
85f253ae4f Merge branch 'PHP-7.4'
* PHP-7.4:
  Support calling convention specific function name mangling
2019-08-04 12:14:31 +02:00
Christoph M. Becker
1ed9ebdea5 Support calling convention specific function name mangling
On Windows certain calling conventions cause C function names to be
mangled, so to import them we have to use the properly mangled names.
2019-08-04 12:14:11 +02:00
Christoph M. Becker
1a3e3c8c26 Merge branch 'PHP-7.4'
* PHP-7.4:
  Document how to generate ffi_parser.c
2019-07-29 13:39:28 +02:00
Christoph M. Becker
07286d2fb4 Document how to generate ffi_parser.c 2019-07-29 13:38:53 +02:00
Peter Kokot
11e7c001df Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix typos in FFI
2019-07-19 23:07:34 +02:00
Peter Kokot
81fd1c5206 Fix typos in FFI
Closes GH-4438
2019-07-19 23:07:04 +02:00
Nikita Popov
a1479fbbd9 Merge branch 'PHP-7.4' 2019-06-25 14:30:24 +02:00
Nikita Popov
0f3ca15bb7 FFI: Perform bitfield operations byte-wise
Otherwise we may perform reads/writes outside the allocation, as
already happens in 032.phpt.
2019-06-25 14:28:58 +02:00
Nikita Popov
6aaab9adf7 Merge branch 'PHP-7.4' 2019-06-20 16:24:31 +02:00
Nikita Popov
f127d77eef FFI: Use signed arithmetic for pointer offset
offset can be negative here, using signed arithmetic avoids ubsan
warnings.
2019-06-20 16:22:26 +02:00
Dmitry Stogov
5dbcbab4cc Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove XFAIL mark
2019-06-17 14:56:42 +03:00
Dmitry Stogov
938d2359ae Remove XFAIL mark 2019-06-17 14:56:28 +03:00
Dmitry Stogov
cf50cab7bb Merge branch 'PHP-7.4'
* PHP-7.4:
  Avoid uninitilized field access
2019-06-17 14:54:28 +03:00
Dmitry Stogov
eda916cc98 Avoid uninitilized field access 2019-06-17 14:53:44 +03:00
Dmitry Stogov
3e0b09a83c Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed memory leaks in ext/ffi/tests/100.phpt on Mac OSX
2019-06-17 14:40:48 +03:00
Dmitry Stogov
1e0b0467b6 Fixed memory leaks in ext/ffi/tests/100.phpt on Mac OSX 2019-06-17 14:40:19 +03:00
Joe Watkins
956db0cdc2
Merge branch 'PHP-7.4'
* PHP-7.4:
  fix mac tests on azure
2019-06-14 12:58:13 +02:00
Joe Watkins
f16b012116
fix mac tests on azure 2019-06-14 12:55:00 +02:00
Nikita Popov
b1e52cab62 Merge branch 'PHP-7.4' 2019-06-03 09:21:13 +02:00
Hugh McMaster
7ec50c24bb ext/ffi: Remove symbol check for ffi_open
Closes GH-4215.
2019-06-03 09:19:25 +02:00
Nikita Popov
45a0656e95 Remove get() object handler
Now that set() is gone, there is little point in keeping get(), as
it is essentially just a different way of writing cast_object()
now.

Closes GH-4202.
2019-05-29 17:15:19 +02:00
Nikita Popov
c7a67c6dce Disable JIT for ext/ffi/tests/200.phpt
JIT assumes that the zend_write callback will not be changed at
runtime, which I think is reasonable, so don't run this test
under JIT.
2019-05-29 12:11:32 +02:00
Dmitry Stogov
b2cdde0826 Merge branch 'PHP-7.4'
* PHP-7.4:
  Replace ZVAL_COPY() and ZVAL_COPY_VALUE() for IS_OBJECT by cheaper macros
2019-05-28 20:19:15 +03:00
Dmitry Stogov
83804519df Replace ZVAL_COPY() and ZVAL_COPY_VALUE() for IS_OBJECT by cheaper macros 2019-05-28 20:10:02 +03:00
Dmitry Stogov
51ddc59d9f Merge branch 'PHP-7.4'
* PHP-7.4:
  Avoid usage of internal get/set object handlers. They are going to be removed in PHP-8. Scalar FFI values now should be accessed through special "cdata" property.
2019-05-28 17:14:28 +03:00
Dmitry Stogov
6738241aec Avoid usage of internal get/set object handlers. They are going to be removed in PHP-8.
Scalar FFI values now should be accessed through special "cdata" property.

    $x = FFI::new("int");
    $x = 42;

    should be changed into

    $x = FFI::new("int");
    $x->cdata = 42;
2019-05-28 17:08:35 +03:00
Joe Watkins
daa9172c10
Merge branch 'PHP-7.4'
* PHP-7.4:
  Define minimum required libffi version
2019-05-25 08:12:43 +02:00
Peter Kokot
e7a1409fe1
Define minimum required libffi version 2019-05-25 08:12:15 +02:00
Dmitry Stogov
d58cc9c9e5 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed test on platforms that don't support fastcall calling convention
2019-05-14 00:22:21 +03:00
Dmitry Stogov
9b18afcbca Fixed test on platforms that don't support fastcall calling convention 2019-05-14 00:21:00 +03:00
Dmitry Stogov
6b691cd44e Merge branch 'PHP-7.4'
* PHP-7.4:
  Check for supported libffi ABI
2019-05-13 15:16:28 +03:00
Dmitry Stogov
49de3ce3ca Check for supported libffi ABI 2019-05-13 15:15:51 +03:00
Peter Kokot
2cf90bb2f0 Merge branch 'PHP-7.4'
* PHP-7.4:
  Normalize comments in *nix build system m4 files
2019-05-12 18:51:50 +02:00
Peter Kokot
75fb74860d Normalize comments in *nix build system m4 files
Normalization include:
- Use dnl for everything that can be ommitted when configure is built in
  favor of the shell comment character # which is visible in the output.
- Line length normalized to 80 columns
- Dots for most of the one line sentences
- Macro definitions include similar pattern header comments now
2019-05-12 18:43:03 +02:00
Peter Kokot
d3924071c3 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove ffi README in favour of docs
2019-05-11 14:51:40 +02:00
Peter Kokot
4bfb86cdca Remove ffi README in favour of docs
- https://www.php.net/manual/en/book.ffi.php
- The FFI C parser is mentioned in the CONTRIBUTING.md file
2019-05-11 14:51:14 +02:00
Peter Kokot
ab60bf6dc3 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove example PHP script from FFI
2019-05-08 21:56:10 +02:00
Peter Kokot
05350e621b Remove example PHP script from FFI
FFI README.md already includes the PHP example with more information.
2019-05-08 21:55:59 +02:00
Nikita Popov
9702e2332f Merge branch 'PHP-7.4' 2019-05-07 15:44:39 +02:00
Nikita Popov
645ebcdfbf Avoid some maybe uninitialized warnings in ffi
All false positives.
2019-05-07 15:44:22 +02:00
Nikita Popov
2a2f6a9e74 Merge branch 'PHP-7.4' 2019-05-07 14:30:20 +02:00
Hugh McMaster
cc9c5d8057 Use PKG_CHECK_MODULES to detect the ffi library 2019-05-07 14:28:33 +02:00
Peter Kokot
91a91c6c8b Merge branch 'PHP-7.4'
* PHP-7.4:
  Convert CRLF line endings to LF
  Convert CRLF line endings to LF
2019-05-07 04:40:23 +02:00
Peter Kokot
361d0b3426 Convert CRLF line endings to LF
This patch simplifies line endings tracked in the Git repository and
syncs them to all include the LF style instead of the CRLF files.

Newline characters:
- LF (\n) (*nix and Mac)
- CRLF (\r\n) (Windows)
- CR (\r) (old Mac, obsolete)

To see which line endings are in the index and in the working copy the
following command can be used:
`git ls-files --eol`

Git additionally provides `.gitattributes` file to specify if some files
need to have specific line endings on all platforms (either CRLF or LF).

Changed files shouldn't cause issues on modern Windows platforms because
also Git can do output conversion is core.autocrlf=true is set on
Windows and use CRLF newlines in all files in the working tree.

Unless CRLF files are tracked specifically, Git by default tracks all
files in the index using LF newlines.
2019-05-07 04:40:01 +02:00
Dmitry Stogov
17a43fe2a5 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix double incremenation in ffi
2019-05-06 09:45:23 +03:00
Peter Kokot
426bcdf021 Fix double incremenation in ffi
This removes the warning of:
`incremented both in the loop header and in the loop body` in the
compilation step.
2019-05-06 09:45:11 +03:00
Christoph M. Becker
848ce03347 Merge branch 'PHP-7.4'
* PHP-7.4:
  Properly initialize variable
2019-05-05 17:50:15 +02:00
Christoph M. Becker
30409d6753 Properly initialize variable
Not all code paths assign to `handle`, even though it may be used, so
we make sure that it is initialized to a sane value in the first place.
2019-05-05 17:49:54 +02:00
Christoph M. Becker
af8dc55601 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix typo
2019-05-05 15:41:05 +02:00
Christoph M. Becker
a760c79f1e Fix typo 2019-05-05 15:40:33 +02:00
Nikita Popov
0d8eb57980 Merge branch 'PHP-7.4' 2019-04-29 14:18:07 +02:00
Hugh McMaster
c9ee822bb6 Always use pkg-config from the host architecture 2019-04-29 14:16:16 +02:00
Peter Kokot
cbca8a8df4 Merge branch 'PHP-7.4'
* PHP-7.4:
  [ci skip] Fix CS in Markdown files
2019-04-21 15:39:22 +02:00
Peter Kokot
1c94aac89e [ci skip] Fix CS in Markdown files
Checked and quickfixed with Markdown linter
- 80 columns line width (~)
- code highlighting
- ...

Some most obvious outdated content updated a bit more.
2019-04-21 15:33:20 +02:00
Dmitry Stogov
40c8585bab Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed ext/ffi/tests/044.phpt failure on 32-bit Linux
2019-04-09 16:12:53 +03:00
Dmitry Stogov
a5e86d8264 Fixed ext/ffi/tests/044.phpt failure on 32-bit Linux 2019-04-09 16:12:13 +03:00
Anatol Belski
82189218ba Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix handling and extend ext/ffi/tests/044.phpt
2019-03-30 12:54:05 +01:00
Anatol Belski
039500adb6 Fix handling and extend ext/ffi/tests/044.phpt 2019-03-30 12:53:32 +01:00
Dmitry Stogov
4006e99577 Merge branch 'PHP-7.4'
* PHP-7.4:
  Partial support for GCC mode attribute.
2019-03-29 17:29:32 +03:00
Dmitry Stogov
61ad294f26 Partial support for GCC mode attribute. 2019-03-29 17:28:57 +03:00
Dmitry Stogov
3caf9d660d Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed memory leaks
2019-03-29 14:34:07 +03:00
Dmitry Stogov
a2b39aa0de Fixed memory leaks 2019-03-29 14:33:49 +03:00
Dmitry Stogov
5db761b68f Merge branch 'PHP-7.4'
* PHP-7.4:
  Allow usage of incomplete types for external variables, function parameters and return values
2019-03-29 14:16:18 +03:00
Dmitry Stogov
24fa2008dd Allow usage of incomplete types for external variables, function parameters and return values 2019-03-29 14:14:56 +03:00
Dmitry Stogov
8eae762e2f Merge branch 'PHP-7.4'
* PHP-7.4:
  Added support for more GCC extensions: attributes, __extension__, __asm__ (ignored)
2019-03-29 02:38:12 +03:00
Dmitry Stogov
745dd94e55 Added support for more GCC extensions: attributes, __extension__, __asm__ (ignored) 2019-03-29 02:36:55 +03:00
Dmitry Stogov
1dc9887cf5 Merge branch 'PHP-7.4'
* PHP-7.4:
  Ignore "__format__" attribute
2019-03-29 00:53:06 +03:00
Dmitry Stogov
adf930c038 Ignore "__format__" attribute 2019-03-29 00:52:39 +03:00
Dmitry Stogov
353578eecd Merge branch 'PHP-7.4'
* PHP-7.4:
  Allow incomplete array variables - extern const char * const sys_errlist[]
2019-03-29 00:16:51 +03:00
Dmitry Stogov
94e3db64b2 Allow incomplete array variables - extern const char * const sys_errlist[] 2019-03-29 00:15:12 +03:00
Dmitry Stogov
13f5c83295 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #77768 (FFI: Builtin Types Should Not Raise Error On Redeclaration)
2019-03-29 00:03:18 +03:00
Dmitry Stogov
a3e52afebe Fixed bug #77768 (FFI: Builtin Types Should Not Raise Error On Redeclaration) 2019-03-29 00:02:26 +03:00
Dmitry Stogov
128318dcbf Merge branch 'PHP-7.4'
* PHP-7.4:
  Support for __restrict and few GCC attributes
2019-03-28 03:01:58 +03:00
Dmitry Stogov
363e8dd69d Support for __restrict and few GCC attributes 2019-03-28 03:01:20 +03:00
Dmitry Stogov
03618d2c7d Merge branch 'PHP-7.4'
* PHP-7.4:
  Use semantic predicates to simplify lookahead and reduce backtracking
2019-03-28 01:22:11 +03:00
Dmitry Stogov
984d05f948 Use semantic predicates to simplify lookahead and reduce backtracking 2019-03-28 01:21:06 +03:00
Dmitry Stogov
2fd930d839 Merge branch 'PHP-7.4'
* PHP-7.4:
  Regenerate parser
2019-03-25 21:45:39 +03:00
Dmitry Stogov
164b7ec549 Regenerate parser 2019-03-25 21:45:10 +03:00
Dmitry Stogov
be3183e9cf Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed incorrect error message
2019-03-20 02:41:40 +03:00
Dmitry Stogov
2ccc27bcfc Fixed incorrect error message 2019-03-20 02:41:08 +03:00
Dmitry Stogov
25fe1d5dde Merge branch 'PHP-7.4'
* PHP-7.4:
  Improve white-space handling
2019-03-19 13:53:18 +03:00
Dmitry Stogov
defd421c0f Improve white-space handling 2019-03-19 13:52:55 +03:00
Dmitry Stogov
403033db5b Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed ZTS cache usage
2019-03-12 12:07:54 +03:00
Dmitry Stogov
c48f5fe841 Fixed ZTS cache usage 2019-03-12 12:07:25 +03:00
Dmitry Stogov
ddf02dc978 Merge branch 'PHP-7.4'
* PHP-7.4:
  Reset fields
2019-03-11 15:39:18 +03:00
Dmitry Stogov
e7f0a60d54 Reset fields 2019-03-11 15:38:49 +03:00
Dmitry Stogov
63da56cfc4 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #77707 (FFI loses type information for opaque types)
2019-03-11 14:26:52 +03:00
Dmitry Stogov
e623df650f Fixed bug #77707 (FFI loses type information for opaque types) 2019-03-11 14:26:17 +03:00
Dmitry Stogov
87f8b1b709 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #77706 (Improve error messages in FFI for incompatible arguments)
2019-03-11 13:28:04 +03:00
Dmitry Stogov
a1868d2291 Fixed bug #77706 (Improve error messages in FFI for incompatible arguments) 2019-03-11 13:27:23 +03:00
Peter Kokot
d0fd9fe977 Merge branch 'PHP-7.4'
* PHP-7.4:
  Add AS_HELP_STRING to *nix build configure options
2019-03-07 20:38:04 +01:00
Peter Kokot
9df6a1e4dd Add AS_HELP_STRING to *nix build configure options
The Autoconf's default AS_HELP_STRING macro can properly format help
strings [1] so watching out if columns are aligned manually is not
anymore.

[1] https://www.gnu.org/software/autoconf/manual/autoconf.html#Pretty-Help-Strings
2019-03-07 20:36:59 +01:00
Dmitry Stogov
95aa6bafa4 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed support for callbacks with "void" return type
2019-03-05 01:04:33 +03:00
Dmitry Stogov
ff5fa0d631 Fixed support for callbacks with "void" return type 2019-03-05 01:03:47 +03:00
Dmitry Stogov
d85402a753 Merge branch 'PHP-7.4'
* PHP-7.4:
  Added reference to parser generator
2019-02-20 10:27:27 +03:00
Dmitry Stogov
6e17fbefde Added reference to parser generator 2019-02-20 10:26:56 +03:00
Dmitry Stogov
a7ab1f9fba Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix typo
  Simplify even more - use PHP_VERSION directly
  Bump FFI extension version to PHP_VERSION
2019-02-20 09:33:17 +03:00
Peter Kokot
a3e3fa78f2 Fix typo 2019-02-20 09:32:42 +03:00
Peter Kokot
e765e9a8e0 Simplify even more - use PHP_VERSION directly 2019-02-20 09:32:42 +03:00
Peter Kokot
e5fe8ad6e5 Bump FFI extension version to PHP_VERSION
This simplifies bumping the FFI extension version.
2019-02-20 09:32:42 +03:00
Nikita Popov
293313cc48 Merge branch 'PHP-7.4' 2019-02-19 10:03:29 +01:00
Tyson Andre
cdfe11f80d Fix ffi test on Windows
Fixes a bug in test added in
5661feb1ef, by checking that the
relevant SO exists.

Also adds an additional test that is based on zend_printf, and
should work on both Linux and Windows.
2019-02-19 10:03:14 +01:00
Nikita Popov
879cd04913 Merge branch 'PHP-7.4' 2019-02-18 17:51:41 +01:00
Tyson Andre
cb4c74dfe3 Fix a typo in the error messages for FFI [skip ci] 2019-02-18 17:47:41 +01:00
Dmitry Stogov
9baa3a95b9 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #77632 (FFI Segfaults When Called With Variadics)
2019-02-18 18:12:10 +03:00
Dmitry Stogov
5661feb1ef Fixed bug #77632 (FFI Segfaults When Called With Variadics) 2019-02-18 18:11:55 +03:00
Johannes Schlüter
d373d13d4a Merge branch 'PHP-7.4' 2019-02-12 15:02:18 +01:00
Nikita Popov
1449d49670 Fix FFI test on Windows 2019-02-12 13:57:44 +01:00
Dmitry Stogov
dbd7fbabe9 typo 2019-02-12 13:24:14 +03:00
Dmitry Stogov
7d4de1a77e Fixed possible crash 2019-02-12 11:21:09 +03:00
Dmitry Stogov
91ef4124e5 Refactor zend_object_handlers API to pass zend_object* and zend_string* insted of zval(s). 2019-02-04 13:20:25 +03:00
Peter Kokot
92ac598aab Remove local variables
This patch removes the so called local variables defined per
file basis for certain editors to properly show tab width, and
similar settings. These are mainly used by Vim and Emacs editors
yet with recent changes the once working definitions don't work
anymore in Vim without custom plugins or additional configuration.
Neither are these settings synced across the PHP code base.

A simpler and better approach is EditorConfig and fixing code
using some code style fixing tools in the future instead.

This patch also removes the so called modelines for Vim. Modelines
allow Vim editor specifically to set some editor configuration such as
syntax highlighting, indentation style and tab width to be set in the
first line or the last 5 lines per file basis. Since the php test
files have syntax highlighting already set in most editors properly and
EditorConfig takes care of the indentation settings, this patch removes
these as well for the Vim 6.0 and newer versions.

With the removal of local variables for certain editors such as
Emacs and Vim, the footer is also probably not needed anymore when
creating extensions using ext_skel.php script.

Additionally, Vim modelines for setting php syntax and some editor
settings has been removed from some *.phpt files.  All these are
mostly not relevant for phpt files neither work properly in the
middle of the file.
2019-02-03 21:03:00 +01:00
Zeev Suraski
0cf7de1c70 Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
Dmitry Stogov
e089d506d5 Added FFI extension 2019-01-14 11:47:50 +03:00