1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 18:53:33 +02:00
Commit Graph

1459 Commits

Author SHA1 Message Date
Nikita Popov ae837db8cf Handle overloaded GMP operators in type inference 2018-02-18 15:33:30 +01:00
Nikita Popov 39974dd65d Disable negative range inference
The negative range inference implementation does not work correctly,
and it's not clear right now how it can be fixed. As such, disable
it entirely for now.
2018-02-18 15:33:28 +01:00
Nikita Popov 846e8a3ec9 Fix COUNT range inference
count() on objects may return a negative number :(
2018-02-17 23:18:30 +01:00
Nikita Popov fa7c23ba27 Fix hash_init() and hash_copy() func info
These functions were switched to use objects instead of resources.
2018-02-17 23:18:29 +01:00
Nikita Popov acb9426a6b Fix curl_multi_close() func info
Returns false on failure
2018-02-17 23:18:29 +01:00
Nikita Popov 8bdf9905da Fix get_object_vars() func info
Numeric keys will be converted to integer nowadays.
2018-02-17 23:18:29 +01:00
Nikita Popov 1a50a50bcf Add RC flags in init_func_return_info 2018-02-17 23:18:29 +01:00
Nikita Popov fd5644cd0b Fix array_values() and array_keys() func info
Can return RCN for empty/packed arrays
2018-02-17 23:18:28 +01:00
Nikita Popov 0674d677bc Merge branch 'PHP-7.1' into PHP-7.2 2018-02-16 20:30:49 +01:00
Nikita Popov 372bf8a923 Fixed bug #75969
Move NOP stripping out of zend_optimize_block: NOP stripping may
move instructions, which may invalidate a Tsource shared across
an extended basic block.
2018-02-16 20:30:03 +01:00
Anatol Belski 2235da59af Extend skipif check 2018-02-13 14:04:51 +01:00
Nikita Popov 7aac61ce76 Fixed bug #75938
New modulus range inference implementation has been verified using
https://gist.github.com/nikic/67947ff92cf0e1f7e931f2f0d4cf817f.

The computed bounds are not tight, but it seems to be very hard to
compute tight bounds on modulus operations.
2018-02-09 15:10:23 +01:00
Nikita Popov 1391a0fa0b Fixed bug #75893
It is not sufficient to just add the additional types for aliased
variables at the end of type inference, because types of derived
variables may depend on them. Make sure the additional types are
always added whenever the type of an aliased variable is updated.
2018-02-05 21:41:44 +01:00
Nikita Popov d9e71169e6 Fixed bug #75729
Don't try to evaluate substr() and strpos() at compile-time if
mbstring function overloading is enabled. I'm reusing the
COMPILE_NO_BUILTIN_STRLEN for the detection of mbstring function
overloading here, even if it's technically only about strlen()...
2018-02-05 21:08:18 +01:00
Nikita Popov f208187773 Backport narrowing fix to 7.1
This is a cherry-pick of 8a4532319d.
2018-01-09 18:41:46 +01:00
Xinchen Hui 0e62639d28 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Happy new year (Update copyright to 2018)
2018-01-03 16:00:34 +08:00
Lior Kaplan fbfdd1e1c4 Happy new year (Update copyright to 2018) 2018-01-02 23:42:29 +02:00
Xinchen Hui 7a7ec01a49 year++ 2018-01-02 12:55:14 +08:00
Xinchen Hui ccd4716ec7 year++ 2018-01-02 12:53:31 +08:00
Dmitry Stogov 9188f1d861 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75720 (File cache not populated after SHM runs full)
2017-12-28 14:08:38 +03:00
Dmitry Stogov 60b2d67828 Fixed bug #75720 (File cache not populated after SHM runs full) 2017-12-28 14:08:12 +03:00
Dmitry Stogov a1810758d5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75579 (Interned strings buffer overflow may cause crash)
2017-12-21 23:36:51 +03:00
Dmitry Stogov f2c22d11cc Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #75579 (Interned strings buffer overflow may cause crash)
2017-12-21 23:35:23 +03:00
Dmitry Stogov 37bf8bdc14 Fixed bug #75579 (Interned strings buffer overflow may cause crash) 2017-12-21 23:34:21 +03:00
Xinchen Hui a3b5b93ba9 Updated NEWS 2017-12-17 09:42:01 +08:00
Nikita Popov ee45104dba Fixed bug #75698 2017-12-16 22:04:18 +01:00
Nikita Popov 19d0c5dc9f Add test for bug #75681
The issue itself has been fixed by 8a4532319d.
2017-12-16 21:24:26 +01:00
Nikita Popov 8a4532319d Improve fix for bug #75687
Adding an (incorrect) UNDEF here may cause subsequent narrowing in
other places.

Instead, let's try to handle this edge-case once for all
instructions...
2017-12-16 21:11:40 +01:00
Xinchen Hui a20c9bd3fe Fixed bug #75687 (var 8 (TMP) has array key type but not value type) 2017-12-16 23:59:10 +08:00
Dmitry Stogov 3503dc7482 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75608 ("Narrowing occurred during type inference" error)
2017-12-04 17:22:28 +03:00
Dmitry Stogov 5934bff913 Fixed bug #75608 ("Narrowing occurred during type inference" error) 2017-12-04 17:22:06 +03:00
Xinchen Hui e02c2d2dfb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWs (added bug entry)
2017-11-28 13:16:22 +08:00
Xinchen Hui ee9e32caca Update NEWs (added bug entry) 2017-11-28 13:15:54 +08:00
Dmitry Stogov a4b2ae69e9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug in type inference
2017-11-27 10:16:46 +03:00
Dmitry Stogov 776bef8447 Fixed bug in type inference 2017-11-27 10:16:16 +03:00
Xinchen Hui 9d02227243 Improved fix 2017-11-27 12:03:37 +08:00
Xinchen Hui c412b8b384 Fixed bug #75556 (Invalid opcode 138/1/1) 2017-11-25 00:54:15 +08:00
Dmitry Stogov 2a6a1fd22c typo 2017-11-22 16:30:57 +03:00
Nikita Popov 95e9cc2871 Backport some printf() fixes to 7.2 2017-11-16 21:26:33 +01:00
Dmitry Stogov b6294bbc6c Fixed assertion on phpMyAdmin-4.7.5 home page 2017-11-08 12:51:53 +03:00
Joe Watkins c3ee17065b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix wrong check of definition_phi->constraint.range.max_ssa_var
2017-11-03 17:49:52 +00:00
MITSUNARI Shigeo 21dbd2ffcd fix wrong check of definition_phi->constraint.range.max_ssa_var 2017-11-03 17:49:42 +00:00
Xinchen Hui db4eb54149 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use abbrev
2017-10-30 18:17:41 +08:00
Xinchen Hui d9de0f8683 Use abbrev 2017-10-30 16:26:59 +08:00
Dmitry Stogov 49256dcf6f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed type inference
2017-10-30 10:44:12 +03:00
Dmitry Stogov 230e505fd8 Fixed type inference 2017-10-30 10:41:27 +03:00
Anatol Belski 5315cea6e2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Backport 7ff13badda into 7.0+
2017-10-18 16:27:31 +02:00
Anatol Belski 53d8775015 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Backport 7ff13badda into 7.0+
2017-10-18 16:24:23 +02:00
Anatol Belski d82805f097 Backport 7ff13badda into 7.0+ 2017-10-18 16:02:56 +02:00
Xinchen Hui e53a9aaa4a Fixed bug (assertion fails with extended info generated) 2017-10-17 19:47:29 +08:00