Commit Graph

6319 Commits

Author SHA1 Message Date
Moriyoshi Koizumi
cdb9ee0d1a Fix zend.multibyte oddities. Hope this will address all the known problems. 2011-03-06 07:00:30 +00:00
Felipe Pena
3510be42b7 - Fixed bug #43512 (same parameter name can be used multiple times in method/function definition) 2011-02-17 23:24:50 +00:00
Dmitry Stogov
64351b7add Fixed Bug #53958 (Closures can't 'use' shared variables by value and by reference) 2011-02-14 10:52:16 +00:00
Dmitry Stogov
b84967d3e2 Fixed Bug #53971 (isset() and empty() produce apparently spurious runtime error) 2011-02-14 08:46:53 +00:00
Pierre Joye
a0a603d16b - null deref fix 2011-02-07 10:25:34 +00:00
Felipe Pena
f6a3cd6f57 - Fixed bug #53748 (Using traits lead to a segmentation fault) 2011-01-28 21:19:09 +00:00
Pierre Joye
9885f30873 - fix warning about undefined zend_multibyte_set_filter and zend_multibyte_yyinput_again, why are they not in zend_multibyte.h btw? 2011-01-19 21:40:15 +00:00
Pierre Joye
a27baa7161 - WS 2011-01-19 17:17:52 +00:00
Pierre Joye
3584bbee3b - avoid local redeclaration 2011-01-19 17:06:50 +00:00
Stanislav Malyshev
0c1ba13d3b Fix bug #47143, bug #51458 - provide more useful info in bad exception cases 2011-01-16 21:24:43 +00:00
Stanislav Malyshev
b4dba12d34 Add options to debug_backtrace functions 2011-01-16 20:39:22 +00:00
Felipe Pena
c6544fad1a - Fixed bug #53717 (checking the number of arguments is wrong in zend_parse_method_parameters_ex())
patch by: klaus at triendl dot eu
2011-01-12 22:17:10 +00:00
Stefan Marr
478e5d1dd0 Added trait_exists() [TRAITS] [DOC]
- also changed class_exists() to return false for traits
- added related tests, and get_declared_traits() tests in ext/s/t/co
2011-01-09 19:57:41 +00:00
Rasmus Lerdorf
dc444e8a37 Fix bug #53682 2011-01-06 22:48:20 +00:00
Scott MacVicar
8634d8ca2b Add test for bug #53632 2011-01-04 23:36:56 +00:00
Scott MacVicar
bb08994d71 Fix bug #53632 with x87 fpu 2011-01-04 22:36:23 +00:00
Felipe Pena
8d8f6552ca - Fixed tests 2011-01-04 22:01:09 +00:00
Ilia Alshanetsky
7a2157cf37 Fixed Bug #53629 (memory leak inside highlight_string()). 2011-01-03 14:39:48 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Scott MacVicar
6144da7e35 Silently casting an empty string, null or false into an object by adding a property
is pretty non-intuitive. If the same value was 1 or true you get a warning and it halts.

Since we can't break BC completely (yet) lets bump this from E_STRICT.

Also added a new section to UPGRADING for engine changes.

<?php
$x = '';
// $x = null;
// $x = false;
$x->baz = 1;
var_dump($x);

$y = 1;
$y->baz = 1;
var_dump($y);
2010-12-31 16:57:45 +00:00
Antony Dovgal
ae0e5a0c8c initialize script_encoding_list (reported by Gustavo Lopes) 2010-12-27 20:25:34 +00:00
Felipe Pena
d88a9a3f80 - Fixed INI test section 2010-12-25 01:42:45 +00:00
Moriyoshi Koizumi
e540cb0c45 - Fix startup warnings. 2010-12-24 08:42:21 +00:00
Felipe Pena
7c9fb17d00 - Fix build 2010-12-20 12:41:35 +00:00
Stefan Marr
d6ac811e5d Removed dead code.
# should not have been commited in the first place.
2010-12-20 08:49:59 +00:00
Moriyoshi Koizumi
a304a0fc04 - Avoid allocating extra buffers. This makes parsing with zend.multibyte enabled as fast as with it disabled. 2010-12-20 03:16:09 +00:00
Moriyoshi Koizumi
b09bb21292 - Fix a bug that the script gets wrongly converted into UTF-8 when the script encoding is not GL-safe. 2010-12-20 03:11:41 +00:00
Felipe Pena
3e3d7c52f0 - Fix build 2010-12-20 01:42:25 +00:00
Stefan Marr
7357867bac Added strict handling of properties in traits.
# This is the first attempt to implement the properties as discussed on the mailinglist.
# RFC is not updated to reflect this changes, yet.
2010-12-20 00:52:40 +00:00
Stefan Marr
d88515e1b8 Fixed naming of parameters, was inconsistent with implementation. 2010-12-19 22:13:41 +00:00
Moriyoshi Koizumi
a57e59ed6c WS 2010-12-19 17:29:21 +00:00
Moriyoshi Koizumi
bbf3d43c1e * Refactor zend_multibyte facility.
Now mbstring.script_encoding is superseded by zend.script_encoding.
2010-12-19 16:36:37 +00:00
Stefan Marr
d7c3c627e8 Changed E_ERROR to E_COMPILE_ERROR for Trait compilation errors.
#Thanks for catching this Kalle.
2010-12-12 17:12:29 +00:00
Stefan Marr
1d2a63da5f Changed collision warning for Traits to fatal error.
#This change is made to have all possible cases of collisions consistently handled as fatal errors.
#The reason to have it fatal is that most likely something changed unexpectedly and needs urgent attention by the developer, since it will fail eventually anyway for instance because the expected method is missing in the class.
#Discussed in this thread: http://marc.info/?l=php-internals&m=129155790226876
2010-12-12 16:48:02 +00:00
Dmitry Stogov
c35fc78890 Fixed bug #53511 (Exceptions are lost in case an exception is thrown in catch operator) 2010-12-09 16:38:37 +00:00
Dmitry Stogov
5f8ff99a05 Fixed startup errors if ext/exif is loaded without ext/mbstring 2010-12-08 14:49:26 +00:00
Dmitry Stogov
755c2cd0d8 Removed compile time dependency from ext/mbstring 2010-12-08 11:27:34 +00:00
Pierre Joye
e72e27eecc - fix ts build 2010-12-01 16:48:53 +00:00
Stefan Marr
d0c144d732 Removed old commented function prototypes.
# Was referring to old trait-related code that is long gone
2010-12-01 15:20:11 +00:00
Dmitry Stogov
a45631d966 Allowed indirect $this access (Scott) 2010-12-01 13:33:49 +00:00
David Soria Parra
76a8811c5d C comments instead of C++ comments 2010-11-30 12:51:57 +00:00
Pierre Joye
4574844c52 - cleanup broken double definition of php_win_err and rename it while being there 2010-11-25 23:06:12 +00:00
Felipe Pena
965c30dc2e - Removed unused variable 2010-11-24 20:50:07 +00:00
Dmitry Stogov
7628da98c4 Removed support for break/continue $var syntax 2010-11-24 12:19:56 +00:00
Dmitry Stogov
bf05cc7490 Fixed test 2010-11-24 10:54:35 +00:00
Dmitry Stogov
ac71f49344 Added multibyte suppport by default. Previosly php had to be compiled with --enable-zend-multibyte. Now it can be enabled or disabled throug zend.multibyte directive in php.ini (regenerated scanner) 2010-11-24 05:42:52 +00:00
Dmitry Stogov
ab93d8c621 Added multibyte suppport by default. Previosly php had to be compiled with --enable-zend-multibyte. Now it can be enabled or disabled throug zend.multibyte directive in php.ini 2010-11-24 05:41:23 +00:00
Felipe Pena
7c541356f3 - Fixed compile warnings 2010-11-23 21:49:18 +00:00
Felipe Pena
201ab8bb8c - Fixed test 2010-11-23 21:45:22 +00:00
Dmitry Stogov
d72ac0771d Fixed bug #35547 (Segfault accessing static method) 2010-11-23 10:22:34 +00:00
Stefan Marr
4cc45507da Fixed problem reported by Patrick ALLAERT. Trait method was not applied properly when fully qualified. 2010-11-18 17:59:04 +00:00
Stefan Marr
6ad5c889a1 Added tests to for static support of traits.
# This was not tested and documented yet.
# Updated documentation in the RFC http://wiki.php.net/rfc/horizontalreuse
2010-11-17 23:05:20 +00:00
Felipe Pena
45189fa803 - Fixed bug #53306 (php crashes with segfault when DTrace "exception-thrown" probe fires)
patch by: mike at harschsystems dot com
2010-11-17 21:41:30 +00:00
Pierre Joye
d6723d57c0 - test for NULL deref fix 2010-11-17 17:26:33 +00:00
Pierre Joye
1d04f413cf - NULL deref fix, patch by Gustavo 2010-11-17 16:46:19 +00:00
Felipe Pena
565c484222 - Moved leak_variable() to zend_builtin_functions.c (Gustavo) 2010-11-15 17:06:27 +00:00
Felipe Pena
5f31c44509 - Add missing check 2010-11-14 01:38:52 +00:00
Felipe Pena
c95e919e3e - Fix the constant detection 2010-11-13 19:50:55 +00:00
Felipe Pena
b5b0599398 - Fixed bug #53305 (E_NOTICE when defining a constant starts with __COMPILER_HALT_OFFSET__)
- Fixed a part of bug #53260 (the __COMPILER_HALT_OFFSET__ name is not shown in the E_NOTICE)
2010-11-13 18:46:11 +00:00
Etienne Kneuss
105db96e78 Fixed covariance of return-by-ref constraints 2010-11-03 15:40:24 +00:00
Felipe Pena
e3ced0b540 - Reverted fix for bug #51176 2010-11-03 01:35:26 +00:00
Dmitry Stogov
68e154b1bf reduced size of temp_variariable 2010-10-22 14:51:07 +00:00
Dmitry Stogov
968bdc576c Simplified foreach() handling, we don't have to inctrement/decrement refcount twice 2010-10-22 13:59:23 +00:00
Dmitry Stogov
d12098eeec Fixed crash on attempt to insert reference to string offset into an array 2010-10-22 11:05:22 +00:00
Dmitry Stogov
635f3aff75 Removed redundant check 2010-10-22 09:56:39 +00:00
Derick Rethans
0e24a7c400 - Strip out the typehint *checks* only. They are still parsed, and they are
still accessible through the reflection API.
2010-10-19 10:42:38 +00:00
Dmitry Stogov
3690ce39d9 zend_collect_module_handlers() has to be called after zend_extensions startup, because they can register additional 'hidden' extensions 2010-10-15 07:30:24 +00:00
Hartmut Holzgraefe
aaa2f1c30b marked char pointer arguments as const in lots of
places where strings pointed to are not modified 
to prevent compiler warnings about discarded qualifiers ...
2010-10-14 21:33:10 +00:00
Dmitry Stogov
f4173a8ece Fixed bug #52939 (zend_call_function does not respect ZEND_SEND_PREFER_REF) 2010-10-13 08:51:39 +00:00
Dmitry Stogov
bfe51842ab Added test 2010-10-12 07:38:36 +00:00
Felipe Pena
dbb6e0e9b0 - Added bison 2.4.3 version to the bison version list 2010-10-07 21:44:41 +00:00
Dmitry Stogov
fa3f0bb63f Fixed bug #51008 (Zend/tests/bug45877.phpt fails) 2010-10-05 11:28:56 +00:00
Dmitry Stogov
656f1fb271 Bug #51155 (Unreasonable non-emalloc allocations of memory) 2010-10-04 15:50:47 +00:00
Dmitry Stogov
e8c87c6d21 - Fixed bug #52773 (Proxy objects have an inadequate destroy_object store callback)
- Fixed bug #52774 (Proxy object's store free callback calls zval_ptor_dtor on already freed data)
2010-10-04 07:15:30 +00:00
Dmitry Stogov
d3b6fbe39b Fixed bug #52940 (call_user_func_array still allows call-time pass-by-reference). (cataphract@php.net) 2010-10-01 11:53:04 +00:00
Dmitry Stogov
f64e4bac49 Fixed bug #52879 (Objects unreferenced in __get, __set, __isset or __unset can be freed too early). (mail_ben_schmidt at yahoo dot com dot au, Dmitry) 2010-10-01 09:49:20 +00:00
Dmitry Stogov
53d3320951 Prevented crash in GC because of incorrect reference counting 2010-09-30 14:11:51 +00:00
Felipe Pena
ee4f5ac1c0 - Fixed EG(saved_fpu_cw) initialization 2010-09-22 00:11:34 +00:00
Dmitry Stogov
c2a92f3d27 Fixed bug #52888 (Zend MM shutdown crash) 2010-09-20 12:12:42 +00:00
Pierre Joye
aa0ed267a2 - use TSRMLS_*C instead of TSRMLS_FETCH in zend_list_insert 2010-09-16 09:13:19 +00:00
Pierre Joye
4420a91bbd - macros--; ZEND_FAST_* are now gone 2010-09-15 17:27:43 +00:00
Pierre Joye
ef53214b1c - not used anymore 2010-09-15 16:58:11 +00:00
Dmitry Stogov
e3bb93480a Regenerated 2010-09-15 07:39:57 +00:00
Dmitry Stogov
f2df6a4a3e - Improved memory usage
. zend_function.pass_rest_by_reference is replaced by
    ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags
  . zend_function.return_reference is replaced by ZEND_ACC_RETURN_REFERENCE
    in zend_function.fn_flags
  . zend_arg_info.required_num_args removed. it was needed only for internal
    functions. Now the first arg_info for internal function (which has special
    meaning) is represented by zend_internal_function_info structure.
  . zend_op_array.size, size_var, size_literal, current_brk_cont,
    backpatch_count moved into CG(context), because they are used only during
    compilation.
  . zend_op_array.start_op is moved into EG(start_op), because it's used
    only for 'interactive' execution of single top-level op-array.
  . zend_op_array.done_pass_two is replaced by ZEND_ACC_DONE_PASS_TWO in
    zend_op_array.fn_flags.
  . op_array.vars array is trimmed (reallocated) during pass_two.
  . zend_class_entry.constants_updated is replaced by
     ZEND_ACC_CONSTANTS_UPDATED in zend_class_entry.ce_flags
  . the size of zend_class_entry is reduced by sharing the same memory space
    by different information for internal and user classes.
    See zend_class_inttry.info union.
2010-09-15 07:38:52 +00:00
Johannes Schlüter
1e1e70dc55 - Don't be silent on bailout 2010-09-14 14:26:37 +00:00
Dmitry Stogov
411f9fbe4d We don't need to preallocate a memory segment in case we don't use zend memory manager 2010-09-08 07:52:49 +00:00
Dmitry Stogov
88bf6d2e16 Fixed GC bug 2010-09-03 09:27:47 +00:00
Dmitry Stogov
caffc1c972 Preallocate zend_hash instead of allocation/deallocation it on each request 2010-08-27 06:09:18 +00:00
Dmitry Stogov
2188f26c45 Fixed bug #52614 (Memory leak when writing on uninitialized variable returned from method call) 2010-08-25 09:14:36 +00:00
Scott MacVicar
1e48c71b96 Fix a bug where two doubles are equal but the maths operation makes it appear false.
Best example with INF where equals and identical produce different results.

<?php
var_dump(INF==INF);
var_dump(INF===INF);
2010-08-22 08:01:34 +00:00
Felipe Pena
37c39519bc - Reverted unintended modification 2010-08-18 22:08:36 +00:00
Dmitry Stogov
8a6d73b084 improved performance of @ (silence) operator 2010-08-18 13:58:13 +00:00
Dmitry Stogov
42289228ff Revert unintended modification 2010-08-18 09:45:52 +00:00
Felipe Pena
f3028b9226 - Improved fix for bug #52573 2010-08-18 01:59:37 +00:00
Sascha Schumann
0cbc4a08a1 align declaration with definition
(patch by kalle)
2010-08-17 12:14:52 +00:00
Dmitry Stogov
d93cf2a2d0 Bug #52361 (Throwing an exception in a destructor causes invalid catching) 2010-08-16 09:20:46 +00:00
Dmitry Stogov
e461c22ea9 Fixed memory leaks (related to bug #52361) 2010-08-16 08:11:08 +00:00
Felipe Pena
fdb6077fda - Missing traits data initialization for internal classes (causing Reflection to crash) 2010-08-14 01:12:43 +00:00
Dmitry Stogov
f48999ca3b Optimization of ASSIGN instruction 2010-08-11 15:34:06 +00:00
Dmitry Stogov
931c2d104d In ZTS mode default properties and constants of internal classes can't be modified in place and have to be separated 2010-08-11 09:38:41 +00:00
Dmitry Stogov
7566ff38a1 Fixed support for static properties of internal classes 2010-08-11 08:34:54 +00:00
Dmitry Stogov
e0b728597b Optimization (IS_TMP_VARs don't need reference counting) 2010-08-10 15:24:19 +00:00
Dmitry Stogov
523b965cd4 Prevent generation of long strings 2010-08-10 14:44:50 +00:00
Dmitry Stogov
808fd3f1f7 Optimization 2010-08-10 14:43:17 +00:00
Felipe Pena
30470999fe - Back the free() call for __iterator_wrapper to free the ce->name, as it is a fake class 2010-08-08 22:43:14 +00:00
Felipe Pena
c6c97db78f - Fix warning because the comparsion with literal (e.g. INIT_CLASS_ENTRY(..., "Foo", ...)) 2010-08-08 20:07:23 +00:00
Felipe Pena
e10d33fe5a - Fixed bug #52539 (Calling function from rebound Closure causes crash) 2010-08-08 15:06:14 +00:00
Felipe Pena
4f07d70d4e - Fixed ZTS build (Kalle) 2010-08-05 17:09:08 +00:00
Dmitry Stogov
3cf5ab9e56 Use interned strings for class names 2010-08-05 13:10:15 +00:00
Felipe Pena
05e25f0099 - Fixed bug #52508 (newline problem with parse_ini_file+INI_SCANNER_RAW) 2010-08-01 15:26:54 +00:00
Felipe Pena
e914d90643 - Fixed bug #52484 (__set() ignores setting properties with empty names) 2010-08-01 13:27:02 +00:00
Dmitry Stogov
6443445f25 ZEND_UNSET_* don't have results 2010-07-29 09:46:59 +00:00
Dmitry Stogov
39b4a5eea7 Additional specialization 2010-07-27 09:50:35 +00:00
Dmitry Stogov
d30073a2dc Removed deprecated check 2010-07-26 12:40:32 +00:00
Dmitry Stogov
5a2ee8ecea Use proper fetch types 2010-07-19 15:04:51 +00:00
Dmitry Stogov
c1336009c2 Removed invalid checks 2010-07-19 14:34:34 +00:00
Dmitry Stogov
ca4de03eed ZEND_FETCH_*_R operations simplified and can't be used with EXT_TYPE_UNUSED flag any more. Thit is very rare and useless case. ZEND_FREE might be required after them instead. 2010-07-16 13:38:09 +00:00
Dmitry Stogov
8aad91d14a Simplified string offset reading 2010-07-16 11:44:30 +00:00
Pierre Joye
f35e10e17f - fix vc6 build 2010-07-15 00:13:20 +00:00
Dmitry Stogov
7c24be8672 Fixed incorrect reinitialization 2010-07-14 10:27:08 +00:00
Felipe Pena
25710a406d - Added EG(saved_fpu_cw_ptr) initialization 2010-07-10 13:56:33 +00:00
Dmitry Stogov
5438a9d23c Eliminated useless allocation of FPU control word on each request startup 2010-07-09 09:02:14 +00:00
Dmitry Stogov
bc1f1d25fa zend_ptr_stack allocation is delayed before the actual usage 2010-07-09 07:31:18 +00:00
Felipe Pena
b458b1a4c1 - Fix ZTS build 2010-07-08 15:22:11 +00:00
Dmitry Stogov
f0c8366a9e - use interned strings for auto globals
- $GLOBALS became a JIT autoglobal, so it's initialized only if used (this may affect opcode caches)
2010-07-08 14:05:11 +00:00
Dmitry Stogov
25d6aee4fb Removed redundant check 2010-07-07 11:44:27 +00:00
Dmitry Stogov
3ea5bc7914 Reused single segment between requests. Saved one malloc/free for each request. 2010-07-07 10:34:50 +00:00
Dmitry Stogov
d3efe97a2e Reduced initial VM stack size to fit into zend_mm segment and eliminate extra segment allocation 2010-07-07 10:30:17 +00:00
Dmitry Stogov
8054458fb8 zend_stack initialization is delayed before the actual usage 2010-07-06 16:09:43 +00:00
Felipe Pena
3ea3bbaca3 - Fix ZTS build 2010-07-06 15:52:39 +00:00
Dmitry Stogov
1a1178a685 eliminated unnecessary iterations during request startup/shutdown 2010-07-06 11:40:17 +00:00
Dmitry Stogov
ab67865d21 Fixed bug #52237 (Crash when passing the reference of the property of a non-object) 2010-07-05 09:08:35 +00:00
Dmitry Stogov
a09b7138a9 Used more sutable type. Reduced memory usage. 2010-07-01 08:58:14 +00:00
Felipe Pena
f6f0f65b9c - Fixed bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP >= 5.3) 2010-06-30 02:45:10 +00:00
Felipe Pena
f2419953d9 - MF5.3: Reverted fix for bug #48930 (due binary compatibility breakage)
# To commit a new common fix
2010-06-30 02:30:14 +00:00
Felipe Pena
3396a6d185 - Fixed bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP >= 5.3) 2010-06-27 21:46:16 +00:00
Felipe Pena
cb6bf19bfa - Fixed bug #51421 (Abstract __construct constructor argument list not enforced) 2010-06-26 22:05:13 +00:00
Felipe Pena
d98de7d248 - Fixed bug #52160 (Invalid E_STRICT redefined constructor error) 2010-06-26 19:19:16 +00:00
Felipe Pena
72bc2a9ae8 - Fixed tests 2010-06-26 17:17:47 +00:00
Felipe Pena
87c87daaf3 - Fixed bug #52193 (converting closure to array yields empty array) 2010-06-26 17:14:33 +00:00
Felipe Pena
b355aa00b0 - Fixed bug #52138 (Constants are parsed into the ini file for section names) 2010-06-24 22:32:42 +00:00
Dmitry Stogov
09943e56cd Removed redundant code 2010-06-22 14:15:08 +00:00
Dmitry Stogov
d868733cc3 Fixed bug #52041 (Memory leak when writing on uninitialized variable returned from function) 2010-06-15 08:22:51 +00:00
Felipe Pena
eb0ba9068d - Allow write context on array dereferencing from method return
- New tests
2010-06-12 16:11:10 +00:00
Felipe Pena
2c2fcc2217 - Fixed bug #52051 (handling of case sensitivity of old-style constructors changed in 5.3+) 2010-06-12 15:30:21 +00:00
Felipe Pena
ba0486f96c - Fixed bug #52060 (Memory leak when passing a closure to method_exists()) 2010-06-11 23:20:13 +00:00
Dmitry Stogov
743a2e29c1 Fixed bug #51822i (Segfault with strange __destruct() for static class variables) 2010-06-10 11:45:51 +00:00
Dmitry Stogov
63c7b02424 Fixed bug #52001 (Memory allocation problems after using variable variables) 2010-06-10 09:13:22 +00:00
Felipe Pena
dc3940bd1c - Fix ZTS build 2010-06-08 18:02:10 +00:00
Stefan Marr
e6bd5368ad Fixed issue with statics in traits.
#Please review this change, I moved the routine which copies statics from the closure code to zend_variables.c
#Please also have a look to check whether the TSRMLS_DC is correct, and whether it fits with the rest in zend_variables, because there you are using some macro magic and I am not exactly sure what the reason is for that.
2010-06-08 15:56:36 +00:00