Commit Graph

7390 Commits

Author SHA1 Message Date
Pierre Joye
22159fb7b7 - add new interpolation method
. imagescale
  . imageaffine
  . replace imagerotate with new generic and optimized new implementations
  . imagesetinterpolationmethod, to set the default interpolation to be
    used with the new functions
  . add imagepalettetotruecolor
2013-03-20 07:46:59 +01:00
Anatol Belski
6f0f5d5281 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix C90 compat
2013-03-19 14:44:20 +01:00
Anatol Belski
7687b8b81c fix C90 compat 2013-03-19 14:42:18 +01:00
Dmitry Stogov
4837bdb910 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #63976 (Parent class incorrectly using child constant in class property)

Conflicts:
	NEWS
2013-03-19 17:04:35 +04:00
Dmitry Stogov
7b0993bfb4 Fixed bug #63976 (Parent class incorrectly using child constant in class property) 2013-03-19 16:59:01 +04:00
Dmitry Stogov
960d5be528 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Partial fix for bug #64239
2013-03-19 15:47:43 +04:00
Dmitry Stogov
984561cfa8 Partial fix for bug #64239 2013-03-19 15:45:48 +04:00
Dmitry Stogov
74e11fb14c Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #62343 (Show class_alias In get_declared_classes())

Conflicts:
	NEWS
2013-03-19 15:00:24 +04:00
Dmitry Stogov
84630a1109 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62343 (Show class_alias In get_declared_classes())
2013-03-19 14:59:08 +04:00
Dmitry Stogov
4a6291508d Fixed bug #62343 (Show class_alias In get_declared_classes()) 2013-03-19 14:56:53 +04:00
Dmitry Stogov
ef8c8eaa95 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #64417 (ArrayAccess::&offsetGet() in a trait causes fatal error)

Conflicts:
	NEWS
	Zend/zend_compile.c
2013-03-19 13:07:32 +04:00
Dmitry Stogov
e62bb03257 Fixed bug #64417 (ArrayAccess::&offsetGet() in a trait causes fatal error) 2013-03-19 12:48:23 +04:00
Dmitry Stogov
e9641141aa Made test compatible with O+ 2013-03-16 16:11:00 +04:00
Nikita Popov
b7788c52f1 Fix wrong macro usage and add missing NEWS entry 2013-03-15 13:48:33 +01:00
Dmitry Stogov
dd1c358d1b Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
* 'PHP-5.5' of git.php.net:php-src:
  fix the fix
  fix for bug  #63530 	mysqlnd_stmt::bind_one_parameter uses wrong alloc for stmt->param_bind
  Forgot to remove some now unused variables
  Add support for non-scalar Iterator keys in foreach
  fixed headers order
  - Updated to version 2013.2 (2013b)
  fixed the test
  Fixed bug #64370 (microtime(true) less than $_SERVER['REQUEST_TIME_FLOAT'])
  Disable zend_always_inline in debug build
2013-03-14 14:19:41 +04:00
Dmitry Stogov
d77c865aff Removed redundand code 2013-03-13 17:51:10 +04:00
Nikita Popov
fcc6611de9 Add support for non-scalar Iterator keys in foreach
RFC: https://wiki.php.net/rfc/foreach-non-scalar-keys
2013-03-12 17:27:31 +01:00
Xinchen Hui
4573405c5d Merge branch 'PHP-5.4' into PHP-5.5 2013-03-11 15:16:47 +08:00
Xinchen Hui
0444708c5c Disable zend_always_inline in debug build
it will be much more easier for debuging
2013-03-11 15:15:22 +08:00
Nikita Popov
9490118fdb Fix tests after laruence unserialize change 2013-03-09 20:21:33 +01:00
Xinchen Hui
1be745ce1b Merge branch 'PHP-5.4' into PHP-5.5
Conflicts:
	ext/standard/var_unserializer.c
2013-03-09 23:10:48 +08:00
Xinchen Hui
7197f0ffcc Fixed confused exception message while user threw exception 2013-03-09 23:08:14 +08:00
Xinchen Hui
01049ca7ae Fixed bug #61025 (__invoke() visibility not honored) 2013-03-08 10:34:17 +08:00
Gustavo Lopes
a86fcfbc1d Fix rounding of zend_dval_to_lval
Now rounding is always towards zero; the rounding can be though as if
occurring on the original double. Only relevant for the 32-bit long
variant.
2013-02-23 16:55:50 +00:00
Gustavo Lopes
77566edbaf Fix zend_dval_to_lval outside 64bit integers range
PHP should preserve the least significant bits when casting from double
to long. Zend.m4 contains this:

AC_DEFINE([ZEND_DVAL_TO_LVAL_CAST_OK], 1, [Define if double cast to long preserves least significant bits])

If ZEND_DVAL_TO_LVAL_CAST_OK is not defined, zend_operators.h had an
inline implementation of zend_dval_to_lval() that would do a cast to an
int64_t (when sizeof(long) == 4), then a cast to unsigned long and
finally the cast to long.

While this works well for doubles inside the range of values of the type
used in the first cast (int64_t in the 32-bit version and unsigned long
in the 64-bit version), if outside the range, it is undefined behavior
that WILL give varying and not particularly useful results.

This commit uses fmod() to first put the double in a range that can
safely be cast to unsigned long and then casts this unsigned long to
long. This last cast is implementation defined, but it's very likely
that this gives the expected result (i.e. the internal 2's complement
representation is unchanged) on all platforms that PHP supports. In any
case, the previous implementationa already had this assumption.

This alternative code path is indeed significantly slower than simply
casting the double (almost an order of magnitude), but that should not
matter because casting doubles with a very high absolute value is a
rare event.
2013-02-23 17:23:49 +01:00
Xinchen Hui
f39d12c821 Merge branch 'PHP-5.4' into PHP-5.5 2013-02-21 18:20:48 +08:00
Xinchen Hui
9a44a9806c Fixed bug #64235 (Insteadof not work for class method in 5.4.11)
As we discussed with stefan, we think previous of allowing use with
classes is a bug, should be forbided, anyway, the error message should
be improved.
2013-02-21 18:18:41 +08:00
Stanislav Malyshev
d39554ac08 Merge branch 'bug49348' into PHP-5.5
* bug49348:
  fix tests
  fix bug #49348 - issue notice on get_property_ptr_ptr when used for read
2013-02-21 00:52:46 -08:00
Stanislav Malyshev
dc6f073ce9 fix tests 2013-02-18 23:01:42 -08:00
Stanislav Malyshev
0c6d903ce7 fix bug #49348 - issue notice on get_property_ptr_ptr when used for read 2013-02-18 20:56:02 -08:00
Dmitry Stogov
d77eb411ea Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #64070 (Inheritance with Traits failed with error)

Conflicts:
	NEWS
	Zend/zend_compile.c
2013-02-18 16:20:49 +04:00
Dmitry Stogov
42437dd870 Fixed bug #64070 (Inheritance with Traits failed with error) 2013-02-18 16:07:51 +04:00
Xinchen Hui
75742d57eb Exceptions triggered by undefined variable should be handled before FATAL error
this is a enhancement of the fix for bug #64135
2013-02-16 22:22:22 +08:00
Ard Biesheuvel
65fa9f2c4b Merge branch 'PHP-5.4' into PHP-5.5 2013-02-13 13:50:53 +01:00
Ard Biesheuvel
050aae2860 Fixed bug #64197 (_Offsetof() macro used but not defined on ARM/Clang)
Updated the code to test for __ARMCC_VERSION instead of __arm, as
that is a more reliable indicator of whether the ARMCC compiler is
being used.
2013-02-13 12:22:50 +01:00
Ard Biesheuvel
e2453276e9 Low-level ARM optimizations
- added ARM versions of zend_mm_high_bit()/zend_mm_low_bit()
- improved safe_address()
2013-02-11 14:36:58 +01:00
Ard Biesheuvel
aa12cdc361 Improve x86 inline assembler
- added cc annotation to inline asm that clobbers the condition
  flags
- remove hardcoded constants (IS_LONG,IS_DOUBLE)
- remove hardcoded offsets (zval->value, zval->type)
2013-02-11 13:53:27 +01:00
Remi Collet
dc47ec0490 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #64142 (dval to lval different behavior on ppc64)
2013-02-11 09:13:27 +01:00
Remi Collet
e67a2b9e47 Fixed bug #64142 (dval to lval different behavior on ppc64)
See discussion on internals
http://marc.info/?t=136042277700003&r=1&w=2
2013-02-11 09:10:51 +01:00
Xinchen Hui
7948eea6f9 Forgot test script 2013-02-07 23:49:35 +08:00
Xinchen Hui
290509755a Fixed bug #64135 (Exceptions from set_error_handler are not always propagated) 2013-02-07 23:44:46 +08:00
Remi Collet
7b75a941ef Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  revert
2013-02-05 12:29:01 +01:00
Remi Collet
e7ce002c01 revert 2013-02-05 12:28:47 +01:00
Remi Collet
79956330fe Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #64142 (dval to lval different behavior on ppc64)
2013-02-04 15:27:07 +01:00
Remi Collet
6533094d9e Fixed bug #64142 (dval to lval different behavior on ppc64)
On x86_64:
(long)(double)9223372036854775807+1 = -9223372036854775808
On ppc64
(long)(double)9223372036854775807-1 = 9223372036854775807
2013-02-04 15:19:32 +01:00
Nikita Popov
114245c1b9 Fix bug #63830: Segfault on undefined function call in nested generator
This also reverses the destruction order of the pushed arguments to
align with how it is done everywhere else.

I'm not exactly sure whether this is the right way to fix it, but it
seems to work fine.
2013-02-01 19:53:04 +01:00
Nikita Popov
3ee20e450f Fix segfault when cloning generator with properties
Rule of thumb: Always implement the object clone handler rather
than the object storage clone handler. Actually I think we should
drop the latter. It's nearly never usable.
2013-02-01 18:33:26 +01:00
Nikita Popov
8b972efe5f Fix potential segfault when finally in a generator is run during shutdown
If a generator is destroyed in a finally block it will resume the generator to run that finally
block before freeing the generator. This was done in the object storage free handler.

Running user code in the free handler isn't safe though because the free handlers may be run
during request shutdown, already after several key components have been shut down.

This is avoided by doing the finally handling in the dtor handler. These handlers are run at the
start of the shutdown sequence.
2013-01-30 23:52:02 +01:00
Jelle Zijlstra
86b3643807 Fix build problem in C++11 2013-01-30 19:08:24 +01:00
Jelle Zijlstra
31468401b7 Fix build problem in C++11 2013-01-30 19:07:52 +01:00