Nikita Popov
bcc7d976f3
Set EG(current_execute_data)
...
This fixes several issues. In particular it makes method generators work
properly and also allows generators using a symbol table.
2012-05-28 06:06:30 +02:00
Nikita Popov
9f52c5c226
Fix generator creation when execute_data is not nested
...
This happens primarily when the generator is invoked from some internal
place like a dynamic function call.
2012-05-27 22:48:21 +02:00
Nikita Popov
64a643a4e3
Free loop variables
...
If the generator is closed before it has finished running, it may happen
that some FREE or SWITCH_FREE opcodes haven't been executed and memory is
leaked.
This fixes it by walking the brk_cont_array and manually freeing the
variables.
2012-05-27 17:14:20 +02:00
Nikita Popov
247bb737d5
Add support for generator methods
2012-05-27 03:50:31 +02:00
Nikita Popov
39d3d5ec13
Add first real generator test
...
The test implements an xrange() function (the generator version of range()).
2012-05-27 00:50:27 +02:00
Nikita Popov
cbfa96cad5
Remove wrong dtor call
2012-05-27 00:25:12 +02:00
Nikita Popov
d49d3971e6
Close generator on return
2012-05-26 23:59:22 +02:00
Nikita Popov
5bb3a995c2
Implement return for generators
...
For generators ZEND_RETURN directly calls ZEND_VM_RETURN(), thus passing
execution back to the caller (zend_generator_resume).
This commit also adds a check that only return; is used in generators and
not return $value;.
2012-05-26 23:07:40 +02:00
Nikita Popov
fafce58683
Add YIELD opcode implementation
2012-05-26 22:44:53 +02:00
Nikita Popov
1a99d1c887
Add way to pass generator object to opcode handlers
...
The generator zval is put into the return_value_ptr_ptr.
2012-05-26 19:40:29 +02:00
Nikita Popov
f627be5254
Add support for executing a zend_execute_data
...
This adds another function execute_ex(), which accepts a zend_execute_data
struct to run (contrary to execute(), which accepts a zend_op_array from
which it initialized the execute_data).
This needs a bit more cleanup.
2012-05-26 17:53:13 +02:00
Stanislav Malyshev
b187c35f23
Merge branch 'pull-request/54'
...
* pull-request/54:
Allow arbitrary expressions for empty()
This change is as per RFC https://wiki.php.net/rfc/empty_isset_exprs .
The change allows passing the result of function calls and other
expressions to the empty() language construct. This is accomplished by
simply rewriting empty(expr) to !expr.
The change does not affect the suppression of errors when using empty()
on variables. empty($undefinedVar) will continue not to throw errors.
When an expression is used inside empty() on the other hand, errors will
not be suppressed. Thus empty($undefinedVar + $somethingElse) *will*
throw a notice.
The change also does not make empty() into a real function, so using
'empty' as a callback is still not possible.
In addition to the empty() changes the commit adds nicer error messages
when isset() is used on function call results or other expressions.
2012-05-24 14:18:12 -05:00
Gustavo André dos Santos Lopes
d4fd95e292
Merge branch '5.4'
2012-05-24 11:09:18 +02:00
Nuno Lopes
58d2203317
add support for the alloc_size __attribute__ (through ZEND_ATTRIBUTE_ALLOC_SIZE and ZEND_ATTRIBUTE_ALLOC_SIZE2
...
requires GCC >= 4.3 or clang >= 3.2 to perform anything useful
2012-05-23 22:18:01 -04:00
Gustavo André dos Santos Lopes
acd711685a
Fixed bug #62097
...
This fixes the fix for bug #54547 in 32-bit machines by accepting
float comparisons in 32-bit machines as long as the integer is
not larger than the mantissa.
2012-05-23 18:55:36 -05:00
Nikita Popov
ececcbce0e
Allow calling zend_vm_gen from everywhere
...
Before one could only call it with cwd=Zend.
2012-05-23 20:40:21 +02:00
Nikita Popov
2c5ecb4fea
Add dummy Iterator implementation
...
This simply adds dummy rewind/valid/current/key/next methods to Generator.
2012-05-23 16:44:58 +02:00
Nikita Popov
9ce9a7e639
Add initial code for suspending execution
...
This is just some initial code, which is still quite broken (and needs to be
moved so it can be reused.)
2012-05-23 14:20:25 +02:00
Nikita Popov
5e763d9420
Allocate execute_data using malloc for generators
...
Generators need to switch the execute_data very often. If the execute_data
is allocated on the VM stack this operation would require to always copy
the structure (which is quite large). That's why the execution context is
allocated on the heap instead (only for generators obviously).
2012-05-22 23:17:59 +02:00
Xinchen Hui
9126bc790a
Merge branch 'PHP-5.4'
...
* PHP-5.4:
Use free instead of efree
2012-05-21 19:06:50 +08:00
Xinchen Hui
4c9a11c857
Use free instead of efree
2012-05-21 19:02:45 +08:00
Xinchen Hui
fba724d2f7
Merge branch 'PHP-5.4'
...
* PHP-5.4:
Use emalloc instead of malloc
2012-05-21 18:59:16 +08:00
Xinchen Hui
bbcea230e1
Use emalloc instead of malloc
2012-05-21 18:58:19 +08:00
Dmitry Stogov
90e23107a2
Fixed bug #61998 (Using traits with method aliases appears to result in crash during execution)
2012-05-21 14:04:33 +04:00
Dmitry Stogov
2ae8d2fbfb
Fixed bug #61998 (Using traits with method aliases appears to result in crash during execution)
2012-05-21 13:57:41 +04:00
Dmitry Stogov
c8f47a8e7c
Fixed bug #61998 (Using traits with method aliases appears to result in crash during execution)
2012-05-21 13:46:07 +04:00
Dmitry Stogov
7632a32ef9
Fixed bug #61998 (Using traits with method aliases appears to result in crash during execution)
2012-05-21 12:53:21 +04:00
Nikita Popov
46fa26ab85
Make generator functions return a Generator object
...
Right now generator functions simply immediately return a new Generator
object (no suspension yet).
2012-05-20 14:45:01 +02:00
Nikita Popov
40b7533576
Add some boilerplate code for Generator class
...
The Generator class now uses a zend_generator struct, so it'll be able to
store additional info.
This commit also ensures that Generator cannot be directly instantiated
and extended. The error tests are now in a separate folder from the
(yet-to-come) functional tests.
2012-05-20 14:19:16 +02:00
Nikita Popov
ca59e5464d
Add empty Generator class
2012-05-20 00:03:27 +02:00
Nikita Popov
1cec3f12cc
Add ZEND_SUSPEND_AND_RETURN_GENERATOR opcode
...
If the function is a generator this opcode will be invoked right after
receiving the function arguments.
The current implementation is just a dummy.
2012-05-19 23:19:21 +02:00
Nikita Popov
e14cfafcbf
Add zend_do_suspend_if_generator calls
...
The execution of generator functions will be suspended right after the
arguments were RECVed. This will be done in zend_do_suspend_if_generator.
2012-05-19 20:19:45 +02:00
Nikita Popov
fd2a109f86
Add error if yield is used outside a generator
...
The yield statement can only be used in generator functions, which are
marked with an asterix.
2012-05-19 18:49:27 +02:00
Nikita Popov
9b51a3b96d
Minor code cleanup
...
The block for the foreach separator was nested unnecessary. This commit
simply removes that nesting.
2012-05-19 14:21:49 +02:00
Nikita Popov
252f623464
Add flag for generator functions
...
Generator functions have to specify the * (asterix) modifier after the
function keyword. If they do so the ZEND_ACC_GENERATOR flag is added to
the fn_flags.
2012-05-19 14:18:20 +02:00
Nikita Popov
9b101ac8b3
Add T_YIELD "yield" keyword
2012-05-15 18:30:48 +02:00
Stanislav Malyshev
d03900dc92
fix bug #61782 - __clone/__destruct do not match other methods when checking access controls
2012-05-14 11:03:21 -07:00
Stanislav Malyshev
47db8a9aa1
fix bug #54547
2012-05-14 11:03:20 -07:00
Stanislav Malyshev
a0dff6fdca
fix bug #61782 - __clone/__destruct do not match other methods when checking access controls
2012-05-13 14:40:44 -07:00
Stanislav Malyshev
9344bf193c
fix bug #54547
2012-05-13 14:40:44 -07:00
Nikita Popov
ec061a93c5
Allow arbitrary expressions for empty()
...
This change is as per RFC https://wiki.php.net/rfc/empty_isset_exprs .
The change allows passing the result of function calls and other
expressions to the empty() language construct. This is accomplished by
simply rewriting empty(expr) to !expr.
The change does not affect the suppression of errors when using empty()
on variables. empty($undefinedVar) will continue not to throw errors.
When an expression is used inside empty() on the other hand, errors will
not be suppressed. Thus empty($undefinedVar + $somethingElse) *will*
throw a notice.
The change also does not make empty() into a real function, so using
'empty' as a callback is still not possible.
In addition to the empty() changes the commit adds nicer error messages
when isset() is used on function call results or other expressions.
2012-05-13 14:56:51 +02:00
Xinchen Hui
5852e5f48d
Merge branch 'PHP-5.4'
...
* PHP-5.4:
Fixed Bug #62005 (unexpected behavior when incrementally assigning to a member of a null object)
fix stack overflow in php_intlog10abs()
fix stack overflow in php_intlog10abs()
2012-05-12 13:21:49 +08:00
Xinchen Hui
6a5095582a
Merge branch 'PHP-5.3' into PHP-5.4
...
* PHP-5.3:
Fixed Bug #62005 (unexpected behavior when incrementally assigning to a member of a null object)
fix stack overflow in php_intlog10abs()
Conflicts:
Zend/zend_execute.c
2012-05-12 13:19:55 +08:00
Xinchen Hui
3332943c9d
Fixed Bug #62005 (unexpected behavior when incrementally assigning to a member of a null object)
2012-05-12 13:13:44 +08:00
Xinchen Hui
e7934c0ffa
Merge branch 'PHP-5.4'
2012-05-11 20:27:07 +08:00
Reeze Xia
0cb4849e53
Cleanup useless function declaration for traits
2012-05-11 16:52:12 +08:00
Xinchen Hui
6b16f7cd69
Merge branch 'PHP-5.4'
2012-05-03 22:40:51 +08:00
Xinchen Hui
72f19e9a8b
Fixed bug #61922 (ZTS build doesn't accept zend.script_encoding config)
2012-05-03 22:39:53 +08:00
Xinchen Hui
e022bfe34a
Merge remote-tracking branch 'origin/PHP-5.4'
...
* origin/PHP-5.4:
Fixed test bug #61892
2012-05-03 20:00:10 +08:00
Xinchen Hui
d74d88fbb9
Fixed test bug #61892
2012-05-03 19:56:49 +08:00
Xinchen Hui
604d11ee6c
Merge remote-tracking branch 'origin/PHP-5.4'
2012-05-03 18:41:45 +08:00
Xinchen Hui
75d23f5714
Merge remote-tracking branch 'origin/PHP-5.3' into PHP-5.4
...
* origin/PHP-5.3:
Fix typo
2012-05-03 18:40:57 +08:00
Xinchen Hui
bbf8a50281
Fix typo
...
picked form pull request of reeze.xia@gmail.com
2012-05-03 18:39:03 +08:00
Felipe Pena
1c2c620a58
- Regenerated files
2012-04-30 15:57:09 -03:00
Felipe Pena
4deb0f1a0a
- Regenerated files
2012-04-30 15:57:00 -03:00
Felipe Pena
45ef3c759e
Merge branch 'PHP-5.4'
...
* PHP-5.4:
- Fixed Windows build
2012-04-30 15:56:15 -03:00
Felipe Pena
79961dccab
- Fixed Windows build
2012-04-30 15:55:57 -03:00
Felipe Pena
1622843162
- Regenerated files
2012-04-30 10:35:28 -03:00
Felipe Pena
ea23192910
- Regenerated files
2012-04-30 10:35:11 -03:00
Felipe Pena
73b6150992
Merge branch 'PHP-5.4'
...
* PHP-5.4:
- Changed last commit to use VK_ESCAPE on Windows
2012-04-30 10:31:59 -03:00
Felipe Pena
3120387617
- Changed last commit to use VK_ESCAPE on Windows
2012-04-30 10:31:49 -03:00
Felipe Pena
bbe9eec9a2
Merge branch 'PHP-5.4'
...
* PHP-5.4:
- Fixed bug #61827 (incorrect \e processing on Windows) patch by: ab@php.net
2012-04-29 19:36:10 -03:00
Felipe Pena
cc5b995c78
- Fixed bug #61827 (incorrect \e processing on Windows) patch by: ab@php.net
2012-04-29 19:35:52 -03:00
Xinchen Hui
6b9e88d9e6
Merge branch 'PHP-5.4'
...
* PHP-5.4:
Fixed bug #61761 ('Overriding' a private static method with a different signature causes crash)
2012-04-18 18:15:29 +08:00
Xinchen Hui
da6465a268
Fixed bug #61761 ('Overriding' a private static method with a different signature causes crash)
2012-04-18 18:13:27 +08:00
Xinchen Hui
565892d4c0
Implement const array/string dereference
...
RFC:https://wiki.php.net/rfc/constdereference
2012-04-17 10:06:17 +08:00
Stanislav Malyshev
363797e9af
Merge branch 'PHP-5.4'
...
* PHP-5.4:
Copy default properties of internal classes for different threads
2012-04-11 19:24:11 -07:00
Johannes Schlüter
82c05eeda9
Copy default properties of internal classes for different threads
2012-04-11 19:21:41 -07:00
Nikita Popov
b233de098d
Fix bug #61681 : Malformed grammar
...
Generate T_STRING_VARNAME only if it actually is one. This is only the case
for "${varname}" and "${varname[offset]}" so we can just add a check for
} or [ after the LABEL.
2012-04-09 18:26:38 +02:00
Nikita Popov
4cf90e06c9
Fix lexing of nested heredoc strings in token_get_all()
...
This fixes bug #60097 .
Before two global variables CG(heredoc) and CG(heredoc_len) were used to
track the current heredoc label. In order to support nested heredoc
strings the *previous* heredoc label was assigned as the token value of
T_START_HEREDOC and the language_parser.y assigned that to CG(heredoc).
This created a dependency of the lexer on the parser. Thus the
token_get_all() function, which accesses the lexer directly without
also running the parser, was not able to tokenize nested heredoc strings
(and leaked memory). Same applies for the source-code highlighting
functions.
The new approach is to maintain a heredoc_label_stack in the lexer, which
contains all active heredoc labels.
As it is no longer required, T_START_HEREDOC and T_END_HEREDOC now don't
carry a token value anymore.
In order to make the work with zend_ptr_stack in this context more
convenient I added a new function zend_ptr_stack_top(), which retrieves the
top element of the stack (similar to zend_stack_top()).
2012-03-31 21:53:30 +02:00
Gustavo André dos Santos Lopes
298e9d2932
Merge branch '5.4'
2012-03-28 08:58:09 +01:00
Gustavo André dos Santos Lopes
68990224be
Merge branch '5.3' into 5.4
...
Zend/zend_language_scanner.c and Zend/zend_language_scanner_defs.h had to be changed manually.
2012-03-28 08:57:19 +01:00
Gustavo André dos Santos Lopes
c6e15455a3
Revert "- fix bug #61504 , fix build errors on windows and possibly other"
...
This reverts commit 74ee335e3a
.
2012-03-28 08:41:18 +01:00
Pierre Joye
13bd9c2c3d
Merge branch 'PHP-5.4'
...
* PHP-5.4:
- fix bug #61504 , fix build errors on windows and possibly other
Conflicts:
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h
2012-03-28 02:15:02 +02:00
Pierre Joye
c195596280
Merge branch 'PHP-5.3' into PHP-5.4
...
* PHP-5.3:
- fix bug #61504 , fix build errors on windows and possibly other
Conflicts:
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h
2012-03-28 02:11:06 +02:00
Pierre Joye
74ee335e3a
- fix bug #61504 , fix build errors on windows and possibly other
2012-03-28 01:59:41 +02:00
Xinchen Hui
6ba2e662e4
Implemented FR #60738 (Allow 'set_error_handler' to handle NULL)
...
The previous commit was reverted as Stas ask, so only commit this
to Truk now.
2012-03-24 19:41:11 +08:00
Xinchen Hui
d8f8e98d8e
Improve set_exception_handler while doing reset
2012-03-24 19:38:40 +08:00
Xinchen Hui
aa7cdcd13d
Merge branch 'PHP-5.4' of ../php-5.4
2012-03-24 19:28:43 +08:00
Xinchen Hui
872fdd153e
Merge branch 'PHP-5.3' of ../php-5.3 into PHP-5.4
2012-03-24 19:26:27 +08:00
Xinchen Hui
9c99a89e8e
Revert "Implemented FR #60738 (Allow 'set_error_handler' to handle NULL)"
...
This reverts commit fcae164ea6
.
2012-03-24 19:26:02 +08:00
Xinchen Hui
2d21149743
Revert "Merge from PHP-5.4"
...
This reverts commit 9a87fe1c52
.
2012-03-24 19:25:21 +08:00
Xinchen Hui
690afaffc8
Merge branch 'PHP-5.4' of ../php-5.4
2012-03-24 15:16:51 +08:00
Xinchen Hui
7ffc442927
Merge branch 'PHP-5.3' of ../php-5.3 into PHP-5.4
2012-03-24 15:15:27 +08:00
Xinchen Hui
fcae164ea6
Implemented FR #60738 (Allow 'set_error_handler' to handle NULL)
2012-03-24 15:13:10 +08:00
Xinchen Hui
9a87fe1c52
Merge from PHP-5.4
...
Improve set_exception_handler
2012-03-24 14:33:00 +08:00
Xinchen Hui
4130f5a43c
Improve set_exception_handler
...
Remove useless alloc/free and return_value copy while doing reset
exception handler
2012-03-24 11:54:50 +08:00
Xinchen Hui
caa40dd323
Merge branch 'PHP-5.4'
...
* PHP-5.4:
Improve set_exception_handler
2012-03-24 11:50:07 +08:00
Xinchen Hui
a2bca4e46f
Improve set_exception_handler
...
Remove useless alloc/free and return_value copy while doing reset
exception handler
2012-03-24 11:46:29 +08:00
Xinchen Hui
3813f987d5
Merge branch 'PHP-5.4'
...
* PHP-5.4:
Remove empty lines
2012-03-24 11:35:29 +08:00
Xinchen Hui
114d662d12
Remove empty lines
2012-03-24 11:35:13 +08:00
David Soria Parra
6e7284fb5b
Merge branch 'PHP-5.4'
...
* PHP-5.4:
Replace $Revision$ with $Id$ in keyword expansion enable files
Enable $Id$ expansion for files with the $Revision$ keyword
Conflicts:
ext/mysqlnd/mysqlnd.h
2012-03-20 17:59:33 +01:00
David Soria Parra
c918ca57a7
Merge branch 'PHP-5.3' into PHP-5.4
...
* PHP-5.3:
Replace $Revision$ with $Id$ in keyword expansion enable files
Enable $Id$ expansion for files with the $Revision$ keyword
Conflicts:
ext/mysqlnd/mysqlnd.h
2012-03-20 17:58:58 +01:00
David Soria Parra
f7b10abae9
Replace $Revision$ with $Id$ in keyword expansion enable files
2012-03-20 17:53:47 +01:00
Xinchen Hui
943a4fed4e
reduce memory usage
2012-03-12 14:52:02 +00:00
Xinchen Hui
438a30f1e7
reduce memory usage
2012-03-12 14:52:02 +00:00
Xinchen Hui
d845cfb12e
reduce memory usage
2012-03-12 14:52:02 +00:00
Ilia Alshanetsky
2cc64c28f0
Fixed bug #60569 (Nullbyte truncates Exception $message).
2012-03-11 18:15:13 +00:00
Ilia Alshanetsky
d4f05fbffc
Fixed bug #60569 (Nullbyte truncates Exception $message).
2012-03-11 18:15:13 +00:00
Ilia Alshanetsky
3d9824a798
Fixed bug #60569 (Nullbyte truncates Exception $message).
2012-03-11 18:15:13 +00:00
Xinchen Hui
eac33b454c
Typo when merging from trunk
2012-03-11 15:31:19 +00:00
Xinchen Hui
a38ffd5705
Fixed bug #61273 (call_user_func_array with more than 16333 arguments leaks / crashes)
2012-03-11 15:28:31 +00:00
Xinchen Hui
b7ae5e0d86
Fixed bug #61273 (call_user_func_array with more than 16333 arguments leaks / crashes)
2012-03-11 15:28:31 +00:00
Xinchen Hui
7536bf963d
Fixed bug #61273 (call_user_func_array with more than 16333 arguments leaks / crashes)
2012-03-11 15:28:31 +00:00
Xinchen Hui
24603280d4
fix test
2012-03-11 14:44:07 +00:00
Derick Rethans
c9436c200e
Fixed version numbers.
2012-03-06 18:34:10 +00:00
Derick Rethans
7afd050922
Fixed version numbers.
2012-03-06 18:34:10 +00:00
Derick Rethans
38e5089e85
Fixed version numbers.
2012-03-06 18:34:10 +00:00
Derick Rethans
ecf8986a9a
Add the ZEND_DONT_UNLOAD_MODULES environment variable for debugging to 5.3 as
...
well.
2012-03-06 18:25:55 +00:00
Dmitry Stogov
e182aeec10
Fixed module numbering
2012-03-05 12:47:25 +00:00
Dmitry Stogov
56a3f7eca8
Fixed module numbering
2012-03-05 12:47:25 +00:00
Dmitry Stogov
ecdf201214
Fixed module numbering
2012-03-05 12:47:25 +00:00
Stefan Marr
520d07d86a
Fixed Bug #61052 (Missing error check in trait 'insteadof' clause)
2012-03-04 19:34:19 +00:00
Stefan Marr
ffded0020b
Fixed Bug #61052 (Missing error check in trait 'insteadof' clause)
2012-03-04 19:34:19 +00:00
Stefan Marr
34fe62619d
Fixed Bug #60911 (Confusing error message when extending traits)
2012-03-04 18:33:33 +00:00
Stefan Marr
0ed3b00406
Fixed Bug #60911 (Confusing error message when extending traits)
2012-03-04 18:33:33 +00:00
Stefan Marr
60dfd64bf2
Fixed Bug #60717 (Order of traits in use statement can cause a fatal error)
...
# Compatibility is now correctly checked in both directions.
# Introduced helper method for the test.
2012-03-04 18:26:11 +00:00
Stefan Marr
0bb85e4b91
Fixed Bug #60717 (Order of traits in use statement can cause a fatal error)
...
# Compatibility is now correctly checked in both directions.
# Introduced helper method for the test.
2012-03-04 18:26:11 +00:00
Xinchen Hui
bacd820218
MFH: Fixed bug #61087 (Memory leak in parse_ini_file when specifying invalid scanner mode)
2012-03-02 03:52:06 +00:00
Xinchen Hui
046e3e3889
MFH: Fixed bug #60573 (type hinting with "self" keyword causes weird errors)
2012-03-02 03:32:12 +00:00
Xinchen Hui
101e3e8aed
MFH: Fixed bug #60978 (exit code incorrect)
2012-03-02 03:25:41 +00:00
Xinchen Hui
5f99d789b5
MFH: Fixed bug #60978 (exit code incorrect)
2012-03-02 03:25:41 +00:00
Xinchen Hui
0876d7bb89
MFH: Fixed bug #61011 (Crash when an exception is thrown by __autoload accessing a static property)
2012-03-02 03:12:15 +00:00
Xinchen Hui
213145a6da
MFH: Fixed bug #61072 (Memory leak when restoring an exception handler).
2012-03-02 02:56:08 +00:00
Xinchen Hui
0e4d46a3a7
MFH: Fix bug #61165 (Segfault - strip_tags())
2012-03-02 02:51:57 +00:00
Pierrick Charron
1953161b8c
Fixed bug #61225 (Lexing 0b0*+<NUM> incorectly)
2012-03-02 02:36:31 +00:00
Pierrick Charron
f7cd0588a9
Fixed bug #61225 (Lexing 0b0*+<NUM> incorectly)
2012-03-02 02:36:31 +00:00
Xinchen Hui
5f4ae28459
Improve fix for #61165 , the previous one cause #43450 test failed
2012-02-26 14:56:26 +00:00
Xinchen Hui
1923ecfe25
Improve fix for #61165 , the previous one cause #43450 test failed
2012-02-26 14:56:26 +00:00
Xinchen Hui
c870ebe138
Fixed bug #61087 (Memory leak in parse_ini_file when specifying invalid scanner mode)
2012-02-25 14:15:11 +00:00
Xinchen Hui
38b549ea2f
Fixed bug #61087 (Memory leak in parse_ini_file when specifying invalid scanner mode)
2012-02-25 14:15:11 +00:00
Xinchen Hui
229e55632d
Fixed bug #61011 (Crash when an exception is thrown by __autoload accessing a static property)
2012-02-25 13:56:59 +00:00
Olivier DOUCET
e613889d50
more verbose skip reason in test files with not so obvious extension requirements
2012-02-25 12:10:41 +00:00
Olivier DOUCET
bdbcc1789d
more verbose skip reason in test files with not so obvious extension requirements
2012-02-25 12:10:41 +00:00
Olivier DOUCET
ce535f1819
more verbose skip reason in test files with not so obvious extension requirements
2012-02-25 12:10:41 +00:00
Xinchen Hui
2d424a88fc
merge test to 5.3, and remove xfail since the bug was fixed
2012-02-25 05:18:40 +00:00
Xinchen Hui
7334a4b14f
merge test to 5.3, and remove xfail since the bug was fixed
2012-02-25 05:18:40 +00:00
Xinchen Hui
cfa9c90b20
Fixed bug #61165 (Segfault - strip_tags())
2012-02-25 04:36:08 +00:00
Xinchen Hui
1ee93c83ff
Fixed bug #61165 (Segfault - strip_tags())
2012-02-25 04:36:08 +00:00
Xinchen Hui
c1322d2505
Fix test
2012-02-25 03:19:27 +00:00
Xinchen Hui
a57140324d
typo
2012-02-25 03:16:28 +00:00
Xinchen Hui
4b86d681bb
test for bug #61011
2012-02-25 03:14:16 +00:00
Xinchen Hui
f86d90d27b
Tests for bug #61165
2012-02-25 03:12:54 +00:00
Etienne Kneuss
c51f737994
Fix #61095 (Lexing 0x0*+<NUM> incorrectly)
2012-02-20 18:28:57 +00:00
Etienne Kneuss
eefefddc0e
Fix #61095 (Lexing 0x0*+<NUM> incorrectly)
2012-02-20 18:28:57 +00:00
Etienne Kneuss
86fcb9659e
Fix #61095 (Lexing 0x0*+<NUM> incorrectly)
2012-02-20 18:28:57 +00:00
Stanislav Malyshev
dab17da38a
make ZEND_SIGNALS configurable, off by default
...
also make ZEND_SIGNALS enabled and disabled binary-compatible
2012-02-16 01:51:45 +00:00
Stanislav Malyshev
fa9540e1f1
make ZEND_SIGNALS configurable, off by default
...
also make ZEND_SIGNALS enabled and disabled binary-compatible
2012-02-16 01:51:45 +00:00
Dmitry Stogov
49ce9b9bff
Added ability to reset user opcode handlers (Yoram)
2012-02-14 09:27:08 +00:00
Dmitry Stogov
e16ec62d20
Added ability to reset user opcode handlers (Yoram)
2012-02-14 09:27:08 +00:00
Xinchen Hui
8f7381a6ea
Fixed bug #61072 (Memory leak when restoring an exception handler)
2012-02-14 05:35:34 +00:00
Xinchen Hui
5d683614f9
Fixed bug #61072 (Memory leak when restoring an exception handler)
2012-02-14 05:35:34 +00:00
Xinchen Hui
27df8b6ff0
Revert -r319102 and -r322922 in 5.4 branch since they introduce #60978
...
Fixed #60978 in trunk without reverting previous fix
#see http://news.php.net/php.internals/57789
2012-02-08 03:03:05 +00:00
Xinchen Hui
ff63c09e6f
Revert -r319102 and -r322922 in 5.4 branch since they introduce #60978
...
Fixed #60978 in trunk without reverting previous fix
#see http://news.php.net/php.internals/57789
2012-02-08 03:03:05 +00:00
Rasmus Lerdorf
fe802ac2ad
This test needs gc enabled
2012-02-05 06:09:22 +00:00
Rasmus Lerdorf
0c3685e223
This test needs gc enabled
2012-02-05 06:09:22 +00:00
Rasmus Lerdorf
6452b81b14
This test needs gc enabled
2012-02-05 06:09:22 +00:00
Dmitry Stogov
3fe072f8a9
Fixed (disabled) inline-caching for ZEND_OVERLOADED_FUNCTION methods
2012-01-30 10:51:02 +00:00
Dmitry Stogov
c95937e902
Fixed (disabled) inline-caching for ZEND_OVERLOADED_FUNCTION methods
2012-01-30 10:51:02 +00:00
Derick Rethans
33863b2cf8
- Reinstated correct return values after David's fix for #60218 .
2012-01-29 15:25:40 +00:00
Derick Rethans
2c1285a573
- Reinstated correct return values after David's fix for #60218 .
2012-01-29 15:25:40 +00:00
Derick Rethans
32edc70fe1
CS fixes.
2012-01-29 11:17:07 +00:00
Xinchen Hui
3a8a5bc843
WS, merged from trunk cause this issue, sorry
2012-01-26 01:28:37 +00:00
Xinchen Hui
bbd6ab2054
WS, merged from trunk cause this issue, sorry
2012-01-26 01:28:37 +00:00
Xinchen Hui
1207451239
Fixed bug #60825 (Segfault when running symfony 2 tests)
2012-01-26 01:21:35 +00:00
Xinchen Hui
6b1d3b3d10
Re-fixed bug #60825 (Segfault when running symfony 2 tests)
2012-01-24 14:39:45 +00:00
Xinchen Hui
a222954a45
Re-fixed bug #60825 (Segfault when running symfony 2 tests)
2012-01-24 14:39:45 +00:00
Xinchen Hui
cf54cc736b
Fixed bug #60825 (Segfault when running symfony 2 tests)
2012-01-21 17:13:53 +00:00
Dmitry Stogov
3299a2673c
Fixed Bug #60809 (TRAITS - PHPDoc Comment Style Bug)
...
Fixed some other traits related bugs (uninitialized variable, return => continue)
Removed some trait related redundant code and variables
2012-01-20 12:30:57 +00:00
Dmitry Stogov
f9e6af5ef1
Fixed Bug #60809 (TRAITS - PHPDoc Comment Style Bug)
...
Fixed some other traits related bugs (uninitialized variable, return => continue)
Removed some trait related redundant code and variables
2012-01-20 12:30:57 +00:00
Pierre Joye
902bbce03b
- add test for bug #60771
2012-01-18 20:22:47 +00:00
Pierre Joye
d285c75819
- add test for bug #60771
2012-01-18 20:22:47 +00:00
Pierre Joye
1cc5588248
- add test for bug #60771
2012-01-18 20:22:47 +00:00
Dmitry Stogov
a1525977a0
Regenerated scanners
2012-01-17 08:11:32 +00:00
Dmitry Stogov
877f97cde1
Regenerated scanners
2012-01-17 08:11:32 +00:00
Dmitry Stogov
b515bfbdfb
Improved traits implementation. Now to support __CLASS__ constant in traits php doesn't have to copy the complete compiled method, but can reuse the same code. The resolution of __CLASS__ constants in methods defined in traits are delayed till run-time. This approach also made possible to use __CLASS__ constant as default value for traits properties and method arguments.
2012-01-17 08:09:13 +00:00
Dmitry Stogov
032d140fd6
Improved traits implementation. Now to support __CLASS__ constant in traits php doesn't have to copy the complete compiled method, but can reuse the same code. The resolution of __CLASS__ constants in methods defined in traits are delayed till run-time. This approach also made possible to use __CLASS__ constant as default value for traits properties and method arguments.
2012-01-17 08:09:13 +00:00
Xinchen Hui
d74a258f24
Fixed Bug #60573 (type hinting with "self" keyword causes weird errors)
2012-01-16 09:53:45 +00:00
Rui Hirokawa
7ba37f7921
fixed failed tests (backport from PHP_5_4/trunk).
2012-01-14 09:07:10 +00:00
Xinchen Hui
b31c12435c
Fixed bug #60627 (httpd.worker segfault on startup with php_value)
2012-01-04 08:25:06 +00:00
Xinchen Hui
1c4f227553
Fixed bug #60627 (httpd.worker segfault on startup with php_value)
2012-01-04 08:25:06 +00:00
Nuno Lopes
71843491d3
regen for r321655
2012-01-01 22:52:23 +00:00
Nuno Lopes
d3f0eaee02
regen for r321655
2012-01-01 22:52:23 +00:00
Nuno Lopes
3a06ca721c
regen for r321655
2012-01-01 22:52:23 +00:00
Nuno Lopes
bac57c94fb
fix memory leak in compile_string when there's a parse error (used e.g. in eval or assert)
2012-01-01 22:45:58 +00:00
Nuno Lopes
a542baa720
fix memory leak in compile_string when there's a parse error (used e.g. in eval or assert)
2012-01-01 22:45:58 +00:00
Nuno Lopes
8b23cae172
fix memory leak in compile_string when there's a parse error (used e.g. in eval or assert)
2012-01-01 22:45:58 +00:00
Felipe Pena
e4ca0ed09f
- Year++
2012-01-01 13:15:04 +00:00
Felipe Pena
8775a37559
- Year++
2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281
- Year++
2012-01-01 13:15:04 +00:00
Dmitry Stogov
6e3f7b800d
Fixed tests
2011-12-28 10:12:43 +00:00
Dmitry Stogov
90a8da866b
Fixed tests
2011-12-28 10:12:43 +00:00
Dmitry Stogov
a68e858d69
Fixed bug #60613 (Segmentation fault with $cls->{expr}() syntax)
2011-12-28 09:59:39 +00:00
Dmitry Stogov
c058385112
Fixed bug #60613 (Segmentation fault with $cls->{expr}() syntax)
2011-12-28 09:59:39 +00:00
Xinchen Hui
84ce790437
Fix #60613 (Segmentation fault with $cls->{expr}() syntax)
...
#now the behavior is like 5.3, a COMPILER_ERROR will be triggered
2011-12-28 06:46:12 +00:00
Xinchen Hui
113c0a8cc7
Fix #60613 (Segmentation fault with $cls->{expr}() syntax)
...
#now the behavior is like 5.3, a COMPILER_ERROR will be triggered
2011-12-28 06:46:12 +00:00
Xinchen Hui
20e2db2ce3
Fix bug #60611 (Segmentation fault with Cls::{expr}() syntax)
2011-12-27 08:38:18 +00:00
Xinchen Hui
2f4875bf92
Fix bug #60611 (Segmentation fault with Cls::{expr}() syntax)
2011-12-27 08:38:18 +00:00
Stanislav Malyshev
327a5828cd
Fix warning on non-numeric offsets
2011-12-22 03:22:42 +00:00
Stanislav Malyshev
0610ca459a
Fix warning on non-numeric offsets
2011-12-22 03:22:42 +00:00
Xinchen Hui
c1d5a5d7ef
Fixed bug #60558 (Invalid read and writes)
...
Re-Fixed bug #60536 (Traits Segfault)
#Thanks to tony2001, I found the previous fix -r321089 is actually not a correct one.
#The key problem there is because the traits didn't correct set the property_info.offset
#for private properties. so here come the new fix.
2011-12-19 16:48:18 +00:00
Xinchen Hui
2f62602c03
Fixed bug #60558 (Invalid read and writes)
...
Re-Fixed bug #60536 (Traits Segfault)
#Thanks to tony2001, I found the previous fix -r321089 is actually not a correct one.
#The key problem there is because the traits didn't correct set the property_info.offset
#for private properties. so here come the new fix.
2011-12-19 16:48:18 +00:00
Xinchen Hui
4a0c2b43f5
Revert previous bad fix, introduce memory leak
2011-12-19 12:00:09 +00:00
Xinchen Hui
7fcba87e68
Revert previous bad fix, introduce memory leak
2011-12-19 12:00:09 +00:00
Xinchen Hui
f3900513ca
Codes standard & Remove useless empty lines
2011-12-19 10:05:48 +00:00
Xinchen Hui
1a4a527c37
Codes standard & Remove useless empty lines
2011-12-19 10:05:48 +00:00
Xinchen Hui
5256e7410e
Fixed bug #60558 (Invalid read and writes)
2011-12-19 09:58:29 +00:00
Xinchen Hui
d589d33468
Fixed bug #60558 (Invalid read and writes)
2011-12-19 09:58:29 +00:00
Stanislav Malyshev
1f4f33afcf
implement the solution for isset/string offsets, fix bug #60362
2011-12-19 02:05:03 +00:00
Stanislav Malyshev
622412d8e6
implement the solution for isset/string offsets, fix bug #60362
2011-12-19 02:05:03 +00:00
Stefan Marr
525dd55eed
Fixed inconsistent and broken handling of private properties in traits.
...
# The handling of private properties in classes is now consistent with private properties in traits.
# Perviously, privates could cause strict warnings, are were not properly merged into the class when
# the parent class had a private property of the same name. Now, we introduce it without notice,
# since it is a new and independent property, just like in normal classes.
# This problem was diagnosed while working on Bug #60536 .
2011-12-17 14:26:39 +00:00
Stefan Marr
3dc9f0abe6
Fixed inconsistent and broken handling of private properties in traits.
...
# The handling of private properties in classes is now consistent with private properties in traits.
# Perviously, privates could cause strict warnings, are were not properly merged into the class when
# the parent class had a private property of the same name. Now, we introduce it without notice,
# since it is a new and independent property, just like in normal classes.
# This problem was diagnosed while working on Bug #60536 .
2011-12-17 14:26:39 +00:00
Xinchen Hui
db63456a8d
Reduce memory usage
2011-12-17 03:57:01 +00:00
Xinchen Hui
ac2a2fd196
Reduce memory usage
2011-12-17 03:57:01 +00:00
Xinchen Hui
01dc47631e
Fixed bug #60536 (Traits Segfault)
...
# this is a tough one, I think I should explain
# Zend use zend_object->properties_table both as zval ** and zval ***
# if a zend_object->properties is not initialized, the properties_table is zval **
# while in rebuild_object_properties, zend will store the zval ** to zend_object->properties
# then stash the zval ***(ie, zobj->properties_table[0] is zval ** now) to zobj->properties_table[0]
# so when a zend_object inherit form multi parent and these parent have a same property_info->offset
# properties, will result in a repeat zval **->zval ** transform, which will lead to a segmentfault
# *may be* this fix is not the best fix, we should not use this tricky way, and rewrite this mechanism.
2011-12-16 19:02:52 +00:00
Xinchen Hui
707f658c33
Fixed bug #60536 (Traits Segfault)
...
# this is a tough one, I think I should explain
# Zend use zend_object->properties_table both as zval ** and zval ***
# if a zend_object->properties is not initialized, the properties_table is zval **
# while in rebuild_object_properties, zend will store the zval ** to zend_object->properties
# then stash the zval ***(ie, zobj->properties_table[0] is zval ** now) to zobj->properties_table[0]
# so when a zend_object inherit form multi parent and these parent have a same property_info->offset
# properties, will result in a repeat zval **->zval ** transform, which will lead to a segmentfault
# *may be* this fix is not the best fix, we should not use this tricky way, and rewrite this mechanism.
2011-12-16 19:02:52 +00:00
Pierrick Charron
489b86ff56
Coding standard
2011-12-06 06:44:22 +00:00
Pierrick Charron
3f2bcb7723
Coding standard
2011-12-06 06:44:22 +00:00
Xinchen Hui
95784cf6c5
remove irrelevant codes in test
2011-12-05 12:46:38 +00:00
Xinchen Hui
b92996bea6
remove irrelevant codes in test
2011-12-05 12:46:38 +00:00
Xinchen Hui
2f8c502d22
Add xfaild test for a secluded issue
2011-12-05 12:44:12 +00:00
Xinchen Hui
f30db67f58
Add xfaild test for a secluded issue
2011-12-05 12:44:12 +00:00
Xinchen Hui
d18a61aefb
Fix typo
2011-12-05 12:33:56 +00:00
Xinchen Hui
5927617335
Fix typo
2011-12-05 12:33:56 +00:00
Dmitry Stogov
1d6c98a136
Fixed bug #60444 (Segmentation fault with include & class extending)
2011-12-05 09:20:12 +00:00
Dmitry Stogov
30328dcbab
Fixed bug #60444 (Segmentation fault with include & class extending)
2011-12-05 09:20:12 +00:00
Dmitry Stogov
6cfbcb2268
Expose zend_signal_handler_unblock() to DSO extensions to allow usage of HANDLE_UNBLOCK_INTERRUPTIONS macro
2011-12-02 12:14:16 +00:00
Dmitry Stogov
0d4930577a
Expose zend_signal_handler_unblock() to DSO extensions to allow usage of HANDLE_UNBLOCK_INTERRUPTIONS macro
2011-12-02 12:14:16 +00:00
Dmitry Stogov
f10b3bb556
Fixed icorrect key length after updating constant index
2011-12-01 13:58:29 +00:00
Dmitry Stogov
dc18f8427c
Fixed icorrect key length after updating constant index
2011-12-01 13:58:29 +00:00
Felipe Pena
bfb1d38b9c
- Added tests for bug #60350
...
patch by: php@mickweiss.com
2011-11-30 21:04:07 +00:00
Felipe Pena
d2de045007
- Added tests for bug #60350
...
patch by: php@mickweiss.com
2011-11-30 21:04:07 +00:00
Felipe Pena
a89f1d3cfa
- Fixed bug #60350 (No string escape code for ESC (ascii 27), normally \e)
...
patch by: php at mickweiss dot com
2011-11-30 19:42:59 +00:00
Felipe Pena
3970865954
- Fixed bug #60350 (No string escape code for ESC (ascii 27), normally \e)
...
patch by: php at mickweiss dot com
2011-11-30 19:42:59 +00:00
Stefan Marr
db0888dfc1
Fixed Bug #60369 Crash with static property in trait
2011-11-23 21:24:34 +00:00
Stefan Marr
35d38e4772
Fixed Bug #60369 Crash with static property in trait
2011-11-23 21:24:34 +00:00
Antony Dovgal
a093491652
export zend_on_timeout handler from ZE
2011-11-22 03:39:12 +00:00
Antony Dovgal
e14819439c
export zend_on_timeout handler from ZE
2011-11-22 03:39:12 +00:00
Stanislav Malyshev
aeae94a6af
fix is_a reflection
2011-11-20 22:20:03 +00:00
Stanislav Malyshev
0f0ffd38c9
fix is_a reflection
2011-11-20 22:20:03 +00:00
Felipe Pena
b3b3eb8c2f
- Fix tests
2011-11-19 18:01:26 +00:00
Felipe Pena
2bd90344a6
- Fix tests
2011-11-19 18:01:26 +00:00
Felipe Pena
ebd7dc5f88
- Fix tests
2011-11-19 18:01:26 +00:00
Felipe Pena
31ef559712
- Fixed bug #43200 (Interface implementation / inheritence not possible in abstract classes)
2011-11-19 13:36:03 +00:00
Felipe Pena
14b5e775b0
- Fixed bug #43200 (Interface implementation / inheritence not possible in abstract classes)
2011-11-19 13:36:03 +00:00
Felipe Pena
bc810a443d
- Fixed bug #43200 (Interface implementation / inheritence not possible in abstract classes)
2011-11-19 13:36:03 +00:00
Felipe Pena
420fbb8274
- CS
2011-11-18 13:56:41 +00:00
Felipe Pena
cc8573e7a5
- CS
2011-11-18 13:56:41 +00:00
Stefan Marr
e150100f36
Fixes Bug #54441 (Handling of changing modifiers on a trait alias)
...
# this now results also in a compilation error, since it would open the door for inconsistencies, and violates the DRY principle.
2011-11-18 13:49:07 +00:00
Stefan Marr
76772dc20d
Fixes Bug #54441 (Handling of changing modifiers on a trait alias)
...
# this now results also in a compilation error, since it would open the door for inconsistencies, and violates the DRY principle.
2011-11-18 13:49:07 +00:00