-
Notifications
You must be signed in to change notification settings - Fork 7.9k
include cleanup part 6 #10410
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
include cleanup part 6 #10410
Conversation
@@ -434,4 +434,18 @@ END_EXTERN_C() | |||
|
|||
#include "php_reentrancy.h" | |||
|
|||
/* the following headers used to be included indirectly, and we have | |||
* them here only for backwards compatibility with thirdparty | |||
* extensions */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 for this compromise.
e05021f
to
4116507
Compare
Rebased & moved a few more non-intrusive commits from #10345 |
a6c746b
to
fa399df
Compare
fa399df
to
58002e6
Compare
All |
58002e6
to
dd4d319
Compare
dd4d319
to
bc2e058
Compare
These are currently indirectly included, but in order to retain source compatibility with out-of-tree extensions when #includes are cleaned up in those parts of PHP, we need to re-add them to the "php.h" header.
Without this, the macros ZTS, ZEND_DEBUG and PHP_COMPILER_ID may be unavailable.
bc2e058
to
6df70c2
Compare
As suggested on php-internals, this PR contains parts of #10345 that are not so controversial, because they mostly add missing things, but do not remove anything just yet.
One new commit adds compatibility
#includes
tomain/php.h
, because people on php-internals have suggested that source compatibility with third-party extensions should be retained, even if those extensions are buggy (e.g. forgetting to includeerrno.h
even though they useerrno
). Much of that commit addresses issues that will arise once more includes are cleaned up; it makes those header dependencies explicit, instead of making them accidental and implicit.