diff --git a/Zend/zend_API.c b/Zend/zend_API.c index c06d6119b7af..6c42d274c0db 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -19,15 +19,13 @@ +----------------------------------------------------------------------+ */ -#include "zend.h" -#include "zend_execute.h" #include "zend_API.h" -#include "zend_modules.h" +#include "zend_arena.h" +#include "zend_objects.h" // for zend_objects_new() #include "zend_extensions.h" #include "zend_constants.h" -#include "zend_interfaces.h" +#include "zend_interfaces.h" // for zend_ce_stringable #include "zend_exceptions.h" -#include "zend_closures.h" #include "zend_inheritance.h" #include "zend_ini.h" #include "zend_enum.h" diff --git a/Zend/zend_API.h b/Zend/zend_API.h index cbc455eaab0b..44ea4eaf8783 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -22,13 +22,13 @@ #ifndef ZEND_API_H #define ZEND_API_H -#include "zend_modules.h" -#include "zend_list.h" -#include "zend_operators.h" -#include "zend_variables.h" -#include "zend_execute.h" -#include "zend_type_info.h" +#include "zend_compile.h" // for zif_handler +#include "zend_execute.h" // for get_active_function_or_method_name() +#include "zend_globals.h" // for struct _zend_compiler_globals used by ZEND_MAP_PTR_GET_IMM() +#include "zend_globals_macros.h" // for CG() used by ZEND_MAP_PTR_GET_IMM() +#include "zend_portability.h" // for BEGIN_EXTERN_C +typedef struct _zend_module_entry zend_module_entry; BEGIN_EXTERN_C() diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c index 70646856d3a1..0581714ab1ed 100644 --- a/Zend/zend_ast.c +++ b/Zend/zend_ast.c @@ -18,13 +18,13 @@ */ #include "zend_ast.h" -#include "zend_API.h" -#include "zend_operators.h" -#include "zend_language_parser.h" -#include "zend_smart_str.h" -#include "zend_exceptions.h" +#include "zend_API.h" // for array_set_zval_key +#include "zend_arena.h" #include "zend_constants.h" #include "zend_enum.h" +#include "zend_language_parser.h" // for T_* +#include "zend_smart_str.h" +#include "zend_exceptions.h" // for zend_throw_error ZEND_API zend_ast_process_t zend_ast_process = NULL; diff --git a/Zend/zend_ast.h b/Zend/zend_ast.h index b5df2a55a209..7fc6bef28963 100644 --- a/Zend/zend_ast.h +++ b/Zend/zend_ast.h @@ -21,7 +21,9 @@ #ifndef ZEND_AST_H #define ZEND_AST_H -#include "zend.h" +#include "zend_types.h" // for zval + +#include #ifndef ZEND_AST_SPEC # define ZEND_AST_SPEC 1 diff --git a/Zend/zend_call_stack.c b/Zend/zend_call_stack.c index dadaa60dcb20..738dfbec5172 100644 --- a/Zend/zend_call_stack.c +++ b/Zend/zend_call_stack.c @@ -18,11 +18,11 @@ /* Inspired from Chromium's stack_util.cc */ -#include "zend.h" -#include "zend_globals.h" -#include "zend_portability.h" #include "zend_call_stack.h" +#include "zend_globals.h" + #include + #ifdef ZEND_WIN32 # include # include diff --git a/Zend/zend_call_stack.h b/Zend/zend_call_stack.h index d73c333eeeae..028788ca3c0b 100644 --- a/Zend/zend_call_stack.h +++ b/Zend/zend_call_stack.h @@ -19,12 +19,14 @@ #ifndef ZEND_CALL_STACK_H #define ZEND_CALL_STACK_H -#include "zend.h" -#include "zend_portability.h" +#include "zend_portability.h" // for zend_always_inline + #ifdef __APPLE__ # include #endif +#include + #ifdef ZEND_CHECK_STACK_LIMIT typedef struct _zend_call_stack { diff --git a/Zend/zend_closures.c b/Zend/zend_closures.c index 4c326a6c79b1..03601ce3fc78 100644 --- a/Zend/zend_closures.c +++ b/Zend/zend_closures.c @@ -18,14 +18,11 @@ +----------------------------------------------------------------------+ */ -#include "zend.h" -#include "zend_API.h" #include "zend_closures.h" -#include "zend_exceptions.h" -#include "zend_interfaces.h" -#include "zend_objects.h" -#include "zend_objects_API.h" -#include "zend_globals.h" +#include "zend_API.h" //for ZEND_METHOD() +#include "zend_arena.h" +#include "zend_compile.h" // for union _zend_function +#include "zend_objects.h" // for zend_object_std_init() #include "zend_closures_arginfo.h" typedef struct _zend_closure { diff --git a/Zend/zend_closures.h b/Zend/zend_closures.h index 2d093fa61680..40cb0a36ca3f 100644 --- a/Zend/zend_closures.h +++ b/Zend/zend_closures.h @@ -20,6 +20,15 @@ #ifndef ZEND_CLOSURES_H #define ZEND_CLOSURES_H +#include "zend_portability.h" // for BEGIN_EXTERN_C + +typedef struct _zend_class_entry zend_class_entry; +typedef struct _zend_execute_data zend_execute_data; +typedef union _zend_function zend_function; +typedef struct _zend_object zend_object; +typedef struct _zend_string zend_string; +typedef struct _zval_struct zval; + BEGIN_EXTERN_C() /* This macro depends on zend_closure structure layout */ diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 4cb9b9c85305..166d94dc0dd6 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -18,23 +18,23 @@ +----------------------------------------------------------------------+ */ -#include -#include "zend.h" -#include "zend_attributes.h" #include "zend_compile.h" +#include "zend_API.h" // for zend_get_object_type() +#include "zend_arena.h" +#include "zend_attributes.h" #include "zend_constants.h" -#include "zend_llist.h" -#include "zend_API.h" -#include "zend_exceptions.h" -#include "zend_interfaces.h" -#include "zend_virtual_cwd.h" -#include "zend_multibyte.h" -#include "zend_language_scanner.h" -#include "zend_inheritance.h" -#include "zend_vm.h" #include "zend_enum.h" -#include "zend_observer.h" -#include "zend_call_stack.h" +#include "zend_exceptions.h" // for zend_throw_exception_ex() +#include "zend_globals.h" // struct _zend_compiler_globals +#include "zend_globals_macros.h" // for CG() +#include "zend_inheritance.h" // for zend_do_link_class() +#include "zend_language_parser.h" +#include "zend_language_scanner.h" +#include "zend_list.h" // for zend_init_rsrc_list() +#include "zend_observer.h" // for zend_observer_function_declared_notify() +#include "zend_type_info.h" // for MAY_BE_* +#include "zend_virtual_cwd.h" // for IS_SLASH_P, DEFAULT_SLASH +#include "zend_vm.h" // for ZEND_VM_SET_OPCODE_HANDLER() #define SET_NODE(target, src) do { \ target ## _type = (src)->op_type; \ diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index fa9e582869fb..6f7a7d42101c 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -20,12 +20,12 @@ #ifndef ZEND_COMPILE_H #define ZEND_COMPILE_H -#include "zend.h" +#include "zend.h" // for INTERNAL_FUNCTION_PARAMETERS #include "zend_ast.h" +#include "zend_portability.h" //for ZEND_FASTCALL +#include "zend_types.h" // for zend_uchar -#include - -#include "zend_llist.h" +#include #define SET_UNUSED(op) do { \ op ## _type = IS_UNUSED; \ @@ -758,8 +758,6 @@ struct _zend_execute_data { #define ZEND_EXTRA_VALUE 1 -#include "zend_globals.h" - typedef enum _zend_compile_position { ZEND_COMPILE_POSITION_AT_SHEBANG = 0, ZEND_COMPILE_POSITION_AT_OPEN_TAG, diff --git a/Zend/zend_enum.c b/Zend/zend_enum.c index 3e455b702cbf..11c62d83e1a7 100644 --- a/Zend/zend_enum.c +++ b/Zend/zend_enum.c @@ -16,13 +16,13 @@ +----------------------------------------------------------------------+ */ -#include "zend.h" -#include "zend_API.h" -#include "zend_compile.h" +#include "zend_enum.h" +#include "zend_arena.h" // ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX2 +#include "zend_API.h" // for INIT_CLASS_ENTRY_EX() #include "zend_enum_arginfo.h" #include "zend_interfaces.h" -#include "zend_enum.h" -#include "zend_extensions.h" +#include "zend_extensions.h" // for zend_internal_run_time_cache_reserved_size() +#include "zend_objects.h" // for zend_objects_new() #include "zend_observer.h" #define ZEND_ENUM_DISALLOW_MAGIC_METHOD(propertyName, methodName) \ diff --git a/Zend/zend_enum.h b/Zend/zend_enum.h index dbb230c4175c..895100f09229 100644 --- a/Zend/zend_enum.h +++ b/Zend/zend_enum.h @@ -19,8 +19,11 @@ #ifndef ZEND_ENUM_H #define ZEND_ENUM_H -#include "zend.h" -#include "zend_types.h" +#include "zend_compile.h" // for OBJ_PROP_NUM +#include "zend_portability.h" // for BEGIN_EXTERN_C + +typedef struct _zend_class_entry zend_class_entry; +typedef struct _zend_function_entry zend_function_entry; BEGIN_EXTERN_C() diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h index b7aa52764718..300db3902f4a 100644 --- a/Zend/zend_execute.h +++ b/Zend/zend_execute.h @@ -22,15 +22,12 @@ #define ZEND_EXECUTE_H #include "zend_compile.h" // for zend_op_array +#include "zend_globals.h" // for struct _zend_executor_globals +#include "zend_globals_macros.h" // for EG() #include "zend_list.h" // for zend_rsrc_list_get_rsrc_type() #include "zend_portability.h" // for BEGIN_EXTERN_C #include "zend_types.h" // for zend_execute_data -#if ZEND_DEBUG -#include "zend_globals.h" // for struct _zend_executor_globals -#include "zend_globals_macros.h" // for EG() -#endif - BEGIN_EXTERN_C() struct _zend_fcall_info; ZEND_API extern void (*zend_execute_ex)(zend_execute_data *execute_data); diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c index 66324672b1e9..ccd75a0706b3 100644 --- a/Zend/zend_gc.c +++ b/Zend/zend_gc.c @@ -66,9 +66,14 @@ * * @see http://researcher.watson.ibm.com/researcher/files/us-bacon/Bacon01Concurrent.pdf */ -#include "zend.h" -#include "zend_API.h" -#include "zend_fibers.h" + +#include "zend_gc.h" +#include "zend_alloc.h" // for ZEND_MM_OVERHEAD +#include "zend_fibers.h" // for zend_fiber_switch_block() +#include "zend_globals.h" // for struct _zend_executor_globals +#include "zend_globals_macros.h" // for EG() +#include "zend_objects.h" // for zend_objects_destroy_object() +#include "zend.h" // for zend_error() #ifndef GC_BENCH # define GC_BENCH 0 diff --git a/Zend/zend_gc.h b/Zend/zend_gc.h index 0589e193f4a1..0ee7e38460e7 100644 --- a/Zend/zend_gc.h +++ b/Zend/zend_gc.h @@ -20,6 +20,9 @@ #ifndef ZEND_GC_H #define ZEND_GC_H +#include "zend_portability.h" // for BEGIN_EXTERN_C +#include "zend_types.h" // for GC_TYPE_INFO() + BEGIN_EXTERN_C() typedef struct _zend_gc_status { diff --git a/Zend/zend_globals_macros.h b/Zend/zend_globals_macros.h index 59b3daca53fd..60e8def86d5a 100644 --- a/Zend/zend_globals_macros.h +++ b/Zend/zend_globals_macros.h @@ -20,6 +20,8 @@ #ifndef ZEND_GLOBALS_MACROS_H #define ZEND_GLOBALS_MACROS_H +#include "zend_portability.h" // for BEGIN_EXTERN_C + typedef struct _zend_compiler_globals zend_compiler_globals; typedef struct _zend_executor_globals zend_executor_globals; typedef struct _zend_php_scanner_globals zend_php_scanner_globals; diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c index b45c16ef9152..29141125a59a 100644 --- a/Zend/zend_inheritance.c +++ b/Zend/zend_inheritance.c @@ -18,6 +18,7 @@ */ #include "zend.h" +#include "zend_arena.h" #include "zend_API.h" #include "zend_compile.h" #include "zend_execute.h" diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c index d05310b737b0..52cc476578bd 100644 --- a/Zend/zend_interfaces.c +++ b/Zend/zend_interfaces.c @@ -16,11 +16,13 @@ +----------------------------------------------------------------------+ */ +#include "zend_interfaces.h" #include "zend.h" #include "zend_API.h" -#include "zend_interfaces.h" +#include "zend_arena.h" #include "zend_exceptions.h" #include "zend_interfaces_arginfo.h" +#include "zend_objects.h" // for zend_object_std_init() ZEND_API zend_class_entry *zend_ce_traversable; ZEND_API zend_class_entry *zend_ce_aggregate; diff --git a/Zend/zend_interfaces.h b/Zend/zend_interfaces.h index 883e482f510c..e8291213d7fb 100644 --- a/Zend/zend_interfaces.h +++ b/Zend/zend_interfaces.h @@ -19,8 +19,12 @@ #ifndef ZEND_INTERFACES_H #define ZEND_INTERFACES_H -#include "zend.h" -#include "zend_API.h" +#include "zend_iterators.h" // for zend_object_iterator +#include "zend_portability.h" // for BEGIN_EXTERN_C + +typedef struct _zend_class_entry zend_class_entry; +typedef struct _zend_serialize_data zend_serialize_data; +typedef struct _zend_unserialize_data zend_unserialize_data; BEGIN_EXTERN_C() diff --git a/Zend/zend_iterators.c b/Zend/zend_iterators.c index f67033b11161..fd5a0895b2a0 100644 --- a/Zend/zend_iterators.c +++ b/Zend/zend_iterators.c @@ -17,8 +17,10 @@ +----------------------------------------------------------------------+ */ -#include "zend.h" -#include "zend_API.h" +#include "zend_iterators.h" +#include "zend_objects.h" +#include "zend_object_handlers.h" +#include "zend_API.h" // for INIT_CLASS_ENTRY static zend_class_entry zend_iterator_class_entry; diff --git a/Zend/zend_iterators.h b/Zend/zend_iterators.h index 5e7451f7eacc..98337961948f 100644 --- a/Zend/zend_iterators.h +++ b/Zend/zend_iterators.h @@ -17,6 +17,11 @@ +----------------------------------------------------------------------+ */ +#ifndef ZEND_ITERATORS_H +#define ZEND_ITERATORS_H + +#include "zend_types.h" // for zval + /* These iterators were designed to operate within the foreach() * structures provided by the engine, but could be extended for use * with other iterative engine opcodes. @@ -89,3 +94,5 @@ ZEND_API void zend_iterator_dtor(zend_object_iterator *iter); ZEND_API void zend_register_iterator_wrapper(void); END_EXTERN_C() + +#endif /* ZEND_ITERATORS_H */ diff --git a/Zend/zend_language_scanner.h b/Zend/zend_language_scanner.h index ca32329a557f..c93b0fea56ed 100644 --- a/Zend/zend_language_scanner.h +++ b/Zend/zend_language_scanner.h @@ -20,6 +20,14 @@ #ifndef ZEND_SCANNER_H #define ZEND_SCANNER_H +#include "zend_globals.h" // for zend_php_scanner_event +#include "zend_multibyte.h" // for zend_encoding_filter +#include "zend_portability.h" // for BEGIN_EXTERN_C +#include "zend_ptr_stack.h" +#include "zend_stack.h" + +typedef struct _zend_file_handle zend_file_handle; + typedef struct _zend_lex_state { unsigned int yy_leng; unsigned char *yy_start; diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index c73a50948d6b..c1ba518ddfba 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -27,6 +27,7 @@ # define YYDEBUG(s, c) #endif +#include "zend_language_scanner.h" #include "zend_language_scanner_defs.h" #include @@ -35,9 +36,9 @@ # include #endif #include "zend_alloc.h" +#include "zend_arena.h" #include #include "zend_compile.h" -#include "zend_language_scanner.h" #include "zend_highlight.h" #include "zend_constants.h" #include "zend_variables.h" diff --git a/Zend/zend_list.c b/Zend/zend_list.c index 51ef3e1d92eb..6b2742c6808d 100644 --- a/Zend/zend_list.c +++ b/Zend/zend_list.c @@ -19,10 +19,12 @@ /* resource lists */ -#include "zend.h" #include "zend_list.h" -#include "zend_API.h" -#include "zend_globals.h" +#include "zend_execute.h" // for get_active_class_name() +#include "zend_globals.h" // for struct _zend_executor_globals +#include "zend_globals_macros.h" // for EG() +#include "zend_hash.h" +#include "zend_types.h" // for zval ZEND_API int le_index_ptr; diff --git a/Zend/zend_list.h b/Zend/zend_list.h index 680915121e2a..643abe65023c 100644 --- a/Zend/zend_list.h +++ b/Zend/zend_list.h @@ -20,8 +20,12 @@ #ifndef ZEND_LIST_H #define ZEND_LIST_H -#include "zend_hash.h" -#include "zend_globals.h" +#include "zend_portability.h" // for BEGIN_EXTERN_C + +typedef struct _zend_array HashTable; +typedef struct _zend_resource zend_resource; +typedef struct _zend_string zend_string; +typedef struct _zval_struct zval; BEGIN_EXTERN_C() diff --git a/Zend/zend_llist.c b/Zend/zend_llist.c index 8c42b2494ea0..cdc018ae6278 100644 --- a/Zend/zend_llist.c +++ b/Zend/zend_llist.c @@ -17,8 +17,8 @@ +----------------------------------------------------------------------+ */ -#include "zend.h" #include "zend_llist.h" +#include "zend_alloc.h" //for pemalloc() #include "zend_sort.h" ZEND_API void zend_llist_init(zend_llist *l, size_t size, llist_dtor_func_t dtor, unsigned char persistent) diff --git a/Zend/zend_llist.h b/Zend/zend_llist.h index cce5ad5ce95a..e68be3cb2011 100644 --- a/Zend/zend_llist.h +++ b/Zend/zend_llist.h @@ -20,6 +20,8 @@ #ifndef ZEND_LLIST_H #define ZEND_LLIST_H +#include "zend_portability.h" // for BEGIN_EXTERN_C + typedef struct _zend_llist_element { struct _zend_llist_element *next; struct _zend_llist_element *prev; diff --git a/Zend/zend_objects.c b/Zend/zend_objects.c index df76fa0bb8dc..f82f577df512 100644 --- a/Zend/zend_objects.c +++ b/Zend/zend_objects.c @@ -18,13 +18,14 @@ +----------------------------------------------------------------------+ */ -#include "zend.h" -#include "zend_globals.h" -#include "zend_variables.h" -#include "zend_API.h" -#include "zend_interfaces.h" -#include "zend_exceptions.h" -#include "zend_weakrefs.h" +#include "zend_objects.h" +#include "zend_objects_API.h" +#include "zend_exceptions.h" // for zend_rethrow_exception() +#include "zend_execute.h" // for ZEND_REF_HAS_TYPE_SOURCES +#include "zend_types.h" // for GC_SET_REFCOUNT() +#include "zend_weakrefs.h" // for zend_weakrefs_notify() +#include "zend.h" // for struct _zend_class_entry +#include "zend_API.h" // for zend_call_known_instance_method_with_0_params() static zend_always_inline void _zend_object_std_init(zend_object *object, zend_class_entry *ce) { diff --git a/Zend/zend_objects.h b/Zend/zend_objects.h index 91d388154dd1..c998e9c60a29 100644 --- a/Zend/zend_objects.h +++ b/Zend/zend_objects.h @@ -20,7 +20,10 @@ #ifndef ZEND_OBJECTS_H #define ZEND_OBJECTS_H -#include "zend.h" +#include "zend_portability.h" // for BEGIN_EXTERN_C + +typedef struct _zend_class_entry zend_class_entry; +typedef struct _zend_object zend_object; BEGIN_EXTERN_C() ZEND_API void ZEND_FASTCALL zend_object_std_init(zend_object *object, zend_class_entry *ce); diff --git a/Zend/zend_objects_API.c b/Zend/zend_objects_API.c index 80f5b747db71..140219c07779 100644 --- a/Zend/zend_objects_API.c +++ b/Zend/zend_objects_API.c @@ -18,11 +18,12 @@ +----------------------------------------------------------------------+ */ +#include "zend_objects_API.h" +#include "zend_objects.h" // for zend_objects_destroy_object() #include "zend.h" #include "zend_globals.h" #include "zend_variables.h" #include "zend_API.h" -#include "zend_objects_API.h" #include "zend_fibers.h" ZEND_API void ZEND_FASTCALL zend_objects_store_init(zend_objects_store *objects, uint32_t init_size) diff --git a/Zend/zend_objects_API.h b/Zend/zend_objects_API.h index 7a9a3a00082c..c643a250ce75 100644 --- a/Zend/zend_objects_API.h +++ b/Zend/zend_objects_API.h @@ -20,8 +20,12 @@ #ifndef ZEND_OBJECTS_API_H #define ZEND_OBJECTS_API_H -#include "zend.h" -#include "zend_compile.h" +#include "zend_portability.h" // for BEGIN_EXTERN_C +#include "zend_gc.h" // for GC_MAY_LEAK +#include "zend_compile.h" // for ZEND_ACC_USE_GUARDS +#include "zend.h" // for _zend_class_entry + +typedef struct _zend_object zend_object; #define OBJ_BUCKET_INVALID (1<<0) diff --git a/Zend/zend_observer.c b/Zend/zend_observer.c index 79929bfdd80e..7ff183f0efac 100644 --- a/Zend/zend_observer.c +++ b/Zend/zend_observer.c @@ -18,10 +18,10 @@ */ #include "zend_observer.h" - -#include "zend_extensions.h" +#include "zend_fibers.h" +#include "zend_extensions.h" // for zend_get_op_array_extension_handles() #include "zend_llist.h" -#include "zend_vm.h" +#include "zend_vm.h" // for ZEND_VM_SET_OPCODE_HANDLER() #define ZEND_OBSERVER_DATA(function) \ ZEND_OP_ARRAY_EXTENSION((&(function)->common), zend_observer_fcall_op_array_extension) diff --git a/Zend/zend_observer.h b/Zend/zend_observer.h index fc4d9a62c890..8c5b20b3495d 100644 --- a/Zend/zend_observer.h +++ b/Zend/zend_observer.h @@ -20,9 +20,15 @@ #ifndef ZEND_OBSERVER_H #define ZEND_OBSERVER_H -#include "zend.h" -#include "zend_compile.h" -#include "zend_fibers.h" +#include "zend_portability.h" // for BEGIN_EXTERN_C + +typedef struct _zend_class_entry zend_class_entry; +typedef struct _zend_execute_data zend_execute_data; +typedef struct _zend_fiber_context zend_fiber_context; +typedef union _zend_function zend_function; +typedef struct _zend_op_array zend_op_array; +typedef struct _zend_string zend_string; +typedef struct _zval_struct zval; BEGIN_EXTERN_C() diff --git a/Zend/zend_weakrefs.c b/Zend/zend_weakrefs.c index db95b13a7254..19cbe6fa37ef 100644 --- a/Zend/zend_weakrefs.c +++ b/Zend/zend_weakrefs.c @@ -14,11 +14,11 @@ +----------------------------------------------------------------------+ */ -#include "zend.h" -#include "zend_interfaces.h" -#include "zend_objects_API.h" #include "zend_weakrefs.h" +#include "zend_API.h" // for ZEND_BEGIN_ARG_INFO_EX +#include "zend_objects.h" // for zend_object_std_init() #include "zend_weakrefs_arginfo.h" +#include "zend_interfaces.h" // for zend_create_internal_iterator_zval() typedef struct _zend_weakref { zend_object *referent; diff --git a/Zend/zend_weakrefs.h b/Zend/zend_weakrefs.h index 506e2e9d40c5..6e3f108646c3 100644 --- a/Zend/zend_weakrefs.h +++ b/Zend/zend_weakrefs.h @@ -17,7 +17,8 @@ #ifndef ZEND_WEAKREFS_H #define ZEND_WEAKREFS_H -#include "zend_alloc.h" +#include "zend_portability.h" // for BEGIN_EXTERN_C +#include "zend_types.h" // for zval BEGIN_EXTERN_C() diff --git a/ext/opcache/ZendAccelerator.h b/ext/opcache/ZendAccelerator.h index 6ecc2c2bc9df..5cda73bb1d6f 100644 --- a/ext/opcache/ZendAccelerator.h +++ b/ext/opcache/ZendAccelerator.h @@ -50,6 +50,7 @@ #include "zend_extensions.h" #include "zend_compile.h" +#include "zend_modules.h" // for INIT_FUNC_ARGS #include "Optimizer/zend_optimizer.h" #include "zend_accelerator_hash.h" diff --git a/main/php.h b/main/php.h index b7101ed22f0a..cb1ab5ea7c8e 100644 --- a/main/php.h +++ b/main/php.h @@ -29,6 +29,8 @@ #include "php_version.h" #include "zend.h" +#include "zend_arena.h" +#include "zend_objects.h" #include "zend_sort.h" #include "php_compat.h"