Commit Graph

10166 Commits

Author SHA1 Message Date
Anthony Ferrara
8c76c331a5 Add check for maintaining reference all the way through both type and return values 2015-03-19 17:51:19 -04:00
Anthony Ferrara
2e4401512f Reduce the number of times that the zval needs to be separated in return type checking to those that are necessary 2015-03-19 17:47:43 -04:00
Anthony Ferrara
c11cab3255 Add test to ensure namespaced code can't use scalar types as class names 2015-03-19 14:11:48 -04:00
Anthony Ferrara
aaf0c8b594 Disallow relative namespace type declarations 2015-03-19 14:07:03 -04:00
Anthony Ferrara
62fc556764 Add support and tests for null constant default values. Refactor complex conditionals into an extracted function for clarity and code-reuse 2015-03-19 13:51:24 -04:00
Anthony Ferrara
7044f9c6df Refactor as to not use call info, but add the flag to the op_array. 2015-03-19 13:30:11 -04:00
Anthony Ferrara
0ef80ac351 Fix severity issues with callbacks, start work porting ZEND_STRLEN opcode to work with strict mode, more refactoring to come 2015-03-19 12:26:34 -04:00
Anthony Ferrara
78d2399493 Fix C89 compatibility by moving a misplaced if statement 2015-03-18 18:38:16 -04:00
Anthony Ferrara
d8ef608f3d Refactor gotos into more elaborate ifs to eliminate goto failure 2015-03-18 18:24:00 -04:00
Anthony Ferrara
427ecdc5eb Fix return type separation with references. It now includes a check in the opcode handler and properly separates the value in both cases 2015-03-18 18:10:08 -04:00
Anthony Ferrara
f040538448 Add error case with invalid type declaration default value 2015-03-18 16:53:45 -04:00
Anthony Ferrara
94fe6c42fa Add tests for using constants as defaults with scalar type declarations 2015-03-18 16:50:51 -04:00
Anthony Ferrara
724f7118f1 Refactor error messages to only append defined in the event of rendering as a fatal error. Fix relative typehints to not work 2015-03-18 16:38:51 -04:00
Anthony Ferrara
1df033c5cd Revert gd and mysqli to former calls for arg count errors. Fix first identified issues with zend_compile.c from nikic. Add tests for generator returns prior to first yield 2015-03-18 16:14:02 -04:00
Anthony Ferrara
579e7fa457 Style cleanup, as well as fixing bug with missing argument for WRONG_PARAM_COUNT_WITH_RETVAL 2015-03-18 15:45:16 -04:00
Anthony Ferrara
8be4266f6a Clean up API renames for zend_wrong_param_count to maintain BC, introducing a zend_wrong_param_count_ex() function when you know strict value 2015-03-18 15:42:49 -04:00
Anthony Ferrara
0529eeb4a6 Fix executor issue with ignoring strict types, which cleans up a bunch of errors. Additionally fix the expected error of 2 unrelated tests that was caused by a change to the core error messages 2015-03-18 15:22:21 -04:00
Anthony Ferrara
dd9f4f9585 Fix more tests, improve error messages in failure output for thrown exception 2015-03-18 12:42:09 -04:00
Anthony Ferrara
7feebead1b Refactor error implementation significantly to centralize error mode behavior. Add zend_internal_type_error() function 2015-03-18 12:23:09 -04:00
Anthony Ferrara
d22bfb8aa6 Merge in master, fix merge conflicts and update patch to support exceptions everywhere 2015-03-18 10:50:11 -04:00
Xinchen Hui
5c6db3b0f2 Better make this be consistent with DO_ICALL/DO_CALL
Revert "Use more specific op type"
This reverts commit 9b07ed6dcc.
2015-03-18 22:09:57 +08:00
Anatol Belski
e839ed8c99 strtod shouldn't recognize hex strings 2015-03-18 14:26:15 +01:00
Dmitry Stogov
a01b5f2953 Enabled global register variables for PPC 2015-03-18 16:15:00 +03:00
Xinchen Hui
9b07ed6dcc Use more specific op type 2015-03-18 20:56:28 +08:00
Dmitry Stogov
4e11095438 Reimplemented special constant handling. Now __HALT_COMPILER_OFFSET__ is resolved at compile-time. __CLASS__ retrived using separate ZEND_FETCH_CLASS_NAME opcode. 2015-03-18 15:33:56 +03:00
Dmitry Stogov
65b7f4860e Revert "Improved zend_get_special_constant"
This reverts commit 624eb49e78.
2015-03-18 15:25:27 +03:00
Xinchen Hui
624eb49e78 Improved zend_get_special_constant 2015-03-18 12:22:07 +08:00
Anatol Belski
8a8264a29a comb that header 2015-03-18 00:45:37 +01:00
Anatol Belski
956bab0566 fix endianness check plus better visual origin compat 2015-03-18 00:39:06 +01:00
Dmitry Stogov
fa1c05540c Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  this check isn't applicable anymore
2015-03-18 02:17:12 +03:00
Dmitry Stogov
d6bb5c2cd4 GCC prior 4.8.0 may generates wrong code 2015-03-18 02:15:49 +03:00
Anatol Belski
b3788cd200 this check isn't applicable anymore 2015-03-18 00:14:20 +01:00
Dmitry Stogov
87cec4ccc9 Fixed mess in names 2015-03-18 00:13:39 +03:00
Anatol Belski
0ac1075002 catching up with the git history 2015-03-17 22:11:31 +01:00
Anatol Belski
9903767734 fix undefined symbol 2015-03-17 22:11:30 +01:00
Anatol Belski
87767d9ea1 adedd test for bug #68797 2015-03-17 22:11:28 +01:00
Anatol Belski
a160a9097a restore freeing stuff and some small improvements 2015-03-17 22:11:27 +01:00
Anatol Belski
5d4616e2b0 first shot on updating strtod stuff 2015-03-17 22:11:26 +01:00
Nikita Popov
5c230baf75 Implement Generator::getReturn()
Conflicts:
	Zend/zend_vm_execute.h
2015-03-17 21:51:53 +01:00
Nikita Popov
f1a6c06f14 Support ParseException for require etc 2015-03-17 21:35:42 +01:00
Dmitry Stogov
55da1fb008 Fixed zend_hash_del() 2015-03-17 23:13:39 +03:00
Dmitry Stogov
4d4a5336f1 Embed "fast" operator functions (add, sub, increment, etc) into executor with additional optimizations 2015-03-17 18:53:19 +03:00
Dmitry Stogov
fb4b706984 Enable GCC global register variables if available 2015-03-17 13:51:02 +03:00
Dmitry Stogov
5c68836b0b improved timeout handling on windows 2015-03-16 17:49:43 +01:00
Dmitry Stogov
0a6ab089cd Use memcmp() instead of strncmp() 2015-03-16 15:53:54 +03:00
Xinchen Hui
eeb8eced9b Improved parser (make use_type reuseable) 2015-03-16 18:43:36 +08:00
Xinchen Hui
8247f49fb2 Exposed ZEND_VM_KIND etc 2015-03-16 17:00:04 +08:00
Xinchen Hui
f54f806f4e Remove --with-zend-vm (it doesn't work anyway) 2015-03-16 16:59:31 +08:00
Dmitry Stogov
f42ebdd4e9 Fixed inconsistency 2015-03-14 15:11:55 +03:00
Anatol Belski
e78971cd7b fix syntax for the Visual studio compat 2015-03-13 20:25:10 +01:00