From 74c81480bf98b11dbf183a78625eee8464c3b51d Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Thu, 5 Nov 2026 17:48:22 +0100 Subject: [PATCH 1/2] Fix -Wunused-but-set-global warnings --- ext/opcache/ZendAccelerator.c | 4 +++ ext/standard/user_filters.c | 3 +-- ext/tokenizer/tokenizer.c | 4 +-- ext/zend_test/test.c | 51 ++++++++++++----------------------- main/rfc1867.c | 2 +- 5 files changed, 24 insertions(+), 40 deletions(-) diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index 7ea59be43821..046f5161d6f9 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -119,7 +119,9 @@ zend_accel_shared_globals *accel_shared_globals = NULL; char accel_uname_id[32]; #endif bool accel_startup_ok = false; +#ifdef __DEBUG_MESSAGES__ static const char *zps_failure_reason = NULL; +#endif const char *zps_api_failure_reason = NULL; bool file_cache_only = false; /* process uses file cache only */ #if ENABLE_FILE_CACHE_FALLBACK @@ -3096,7 +3098,9 @@ static int accelerator_remove_cb(zend_extension *element1, zend_extension *eleme static void zps_startup_failure(const char *reason, const char *api_reason, int (*cb)(zend_extension *, zend_extension *)) { accel_startup_ok = false; +#ifdef __DEBUG_MESSAGES__ zps_failure_reason = reason; +#endif zps_api_failure_reason = api_reason?api_reason:reason; zend_llist_del_element(&zend_extensions, NULL, (int (*)(void *, void *))cb); } diff --git a/ext/standard/user_filters.c b/ext/standard/user_filters.c index bc4ac90e2c16..90d18840010a 100644 --- a/ext/standard/user_filters.c +++ b/ext/standard/user_filters.c @@ -63,7 +63,6 @@ PHP_METHOD(php_user_filter, onClose) ZEND_PARSE_PARAMETERS_NONE(); } -static zend_class_entry *user_filter_class_entry; static zend_class_entry *stream_bucket_class_entry; static ZEND_RSRC_DTOR_FUNC(php_bucket_dtor) @@ -78,7 +77,7 @@ static ZEND_RSRC_DTOR_FUNC(php_bucket_dtor) PHP_MINIT_FUNCTION(user_filters) { /* init the filter class ancestor */ - user_filter_class_entry = register_class_php_user_filter(); + register_class_php_user_filter(); stream_bucket_class_entry = register_class_StreamBucket(); /* Filters will dispose of their brigades */ diff --git a/ext/tokenizer/tokenizer.c b/ext/tokenizer/tokenizer.c index e709e7560791..7fe471684844 100644 --- a/ext/tokenizer/tokenizer.c +++ b/ext/tokenizer/tokenizer.c @@ -35,8 +35,6 @@ #define zendcursor LANG_SCNG(yy_cursor) #define zendlimit LANG_SCNG(yy_limit) -static zend_class_entry *php_token_ce; - /* {{{ tokenizer_module_entry */ zend_module_entry tokenizer_module_entry = { STANDARD_MODULE_HEADER, @@ -246,7 +244,7 @@ PHP_MINIT_FUNCTION(tokenizer) { register_tokenizer_data_symbols(module_number); register_tokenizer_symbols(module_number); - php_token_ce = register_class_PhpToken(zend_ce_stringable); + register_class_PhpToken(zend_ce_stringable); return SUCCESS; } diff --git a/ext/zend_test/test.c b/ext/zend_test/test.c index 0ca19544d022..51b370e24713 100644 --- a/ext/zend_test/test.c +++ b/ext/zend_test/test.c @@ -56,33 +56,16 @@ ZEND_DECLARE_MODULE_GLOBALS(zend_test) static zend_class_entry *zend_test_interface; static zend_class_entry *zend_test_class; -static zend_class_entry *zend_test_child_class; -static zend_class_entry *zend_test_gen_stub_flag_compatibility_test; -static zend_class_entry *zend_attribute_test_class; -static zend_class_entry *zend_test_trait; static zend_class_entry *zend_test_trait_for_internal_class; static zend_class_entry *zend_test_trait_for_internal_class2; -static zend_class_entry *zend_test_class_with_traits; static zend_class_entry *zend_test_attribute; static zend_class_entry *zend_test_repeatable_attribute; static zend_class_entry *zend_test_parameter_attribute; static zend_class_entry *zend_test_property_attribute; static zend_class_entry *zend_test_attribute_with_arguments; static zend_class_entry *zend_test_class_with_method_with_parameter_attribute; -static zend_class_entry *zend_test_child_class_with_method_with_parameter_attribute; static zend_class_entry *zend_test_class_with_property_attribute; -static zend_class_entry *zend_test_forbid_dynamic_call; -static zend_class_entry *zend_test_ns_foo_class; -static zend_class_entry *zend_test_ns_unlikely_compile_error_class; -static zend_class_entry *zend_test_ns_not_unlikely_compile_error_class; -static zend_class_entry *zend_test_ns_bar_class; -static zend_class_entry *zend_test_ns2_foo_class; -static zend_class_entry *zend_test_ns2_ns_foo_class; static zend_class_entry *zend_test_unit_enum; -static zend_class_entry *zend_test_string_enum; -static zend_class_entry *zend_test_int_enum; -static zend_class_entry *zend_test_enum_with_interface; -static zend_class_entry *zend_test_magic_call; static zend_object_handlers zend_test_class_handlers; static int le_throwing_resource; @@ -2410,7 +2393,7 @@ PHP_MINIT_FUNCTION(zend_test) zend_test_class->get_static_method = zend_test_class_static_method_get; zend_test_class->default_object_handlers = &zend_test_class_handlers; - zend_test_child_class = register_class__ZendTestChildClass(zend_test_class); + register_class__ZendTestChildClass(zend_test_class); memcpy(&zend_test_class_handlers, &std_object_handlers, sizeof(zend_object_handlers)); zend_test_class_handlers.get_method = zend_test_class_method_get; @@ -2418,14 +2401,14 @@ PHP_MINIT_FUNCTION(zend_test) zend_test_class_handlers.free_obj = zend_test_class_free_obj; zend_test_class_handlers.offset = offsetof(zend_test_object, std); - zend_test_gen_stub_flag_compatibility_test = register_class_ZendTestGenStubFlagCompatibilityTest(); + register_class_ZendTestGenStubFlagCompatibilityTest(); - zend_attribute_test_class = register_class_ZendAttributeTest(); + register_class_ZendAttributeTest(); - zend_test_trait = register_class__ZendTestTrait(); + register_class__ZendTestTrait(); zend_test_trait_for_internal_class = register_class__ZendTestTraitForInternalClass(); zend_test_trait_for_internal_class2 = register_class__ZendTestTraitForInternalClass2(); - zend_test_class_with_traits = register_class__ZendTestClassWithTraits(zend_test_trait_for_internal_class, zend_test_trait_for_internal_class2); + register_class__ZendTestClassWithTraits(zend_test_trait_for_internal_class, zend_test_trait_for_internal_class2); register_test_symbols(module_number); @@ -2448,7 +2431,7 @@ PHP_MINIT_FUNCTION(zend_test) zend_mark_internal_attribute(zend_test_attribute_with_arguments); zend_test_class_with_method_with_parameter_attribute = register_class_ZendTestClassWithMethodWithParameterAttribute(); - zend_test_child_class_with_method_with_parameter_attribute = register_class_ZendTestChildClassWithMethodWithParameterAttribute(zend_test_class_with_method_with_parameter_attribute); + register_class_ZendTestChildClassWithMethodWithParameterAttribute(zend_test_class_with_method_with_parameter_attribute); zend_test_class_with_property_attribute = register_class_ZendTestClassWithPropertyAttribute(); { @@ -2456,21 +2439,21 @@ PHP_MINIT_FUNCTION(zend_test) zend_add_property_attribute(zend_test_class_with_property_attribute, prop_info, zend_test_attribute->name, 0); } - zend_test_forbid_dynamic_call = register_class_ZendTestForbidDynamicCall(); + register_class_ZendTestForbidDynamicCall(); - zend_test_ns_foo_class = register_class_ZendTestNS_Foo(); - zend_test_ns_unlikely_compile_error_class = register_class_ZendTestNS_UnlikelyCompileError(); - zend_test_ns_not_unlikely_compile_error_class = register_class_ZendTestNS_NotUnlikelyCompileError(); - zend_test_ns_bar_class = register_class_ZendTestNS_Bar(); - zend_test_ns2_foo_class = register_class_ZendTestNS2_Foo(); - zend_test_ns2_ns_foo_class = register_class_ZendTestNS2_ZendSubNS_Foo(); + register_class_ZendTestNS_Foo(); + register_class_ZendTestNS_UnlikelyCompileError(); + register_class_ZendTestNS_NotUnlikelyCompileError(); + register_class_ZendTestNS_Bar(); + register_class_ZendTestNS2_Foo(); + register_class_ZendTestNS2_ZendSubNS_Foo(); zend_test_unit_enum = register_class_ZendTestUnitEnum(); - zend_test_string_enum = register_class_ZendTestStringEnum(); - zend_test_int_enum = register_class_ZendTestIntEnum(); - zend_test_enum_with_interface = register_class_ZendTestEnumWithInterface(zend_test_interface); + register_class_ZendTestStringEnum(); + register_class_ZendTestIntEnum(); + register_class_ZendTestEnumWithInterface(zend_test_interface); - zend_test_magic_call = register_class__ZendTestMagicCall(); + register_class__ZendTestMagicCall(); register_class__ZendTestMagicCallForward(); diff --git a/main/rfc1867.c b/main/rfc1867.c index 334d0dd877ef..803f0715cc9a 100644 --- a/main/rfc1867.c +++ b/main/rfc1867.c @@ -43,7 +43,7 @@ static char *php_ap_getword_conf(const zend_encoding *encoding, char *str); static php_rfc1867_encoding_translation_t php_rfc1867_encoding_translation = dummy_encoding_translation; static php_rfc1867_get_detect_order_t php_rfc1867_get_detect_order = NULL; -static php_rfc1867_set_input_encoding_t php_rfc1867_set_input_encoding = NULL; +static php_rfc1867_set_input_encoding_t ZEND_ATTRIBUTE_UNUSED php_rfc1867_set_input_encoding = NULL; static php_rfc1867_getword_t php_rfc1867_getword = php_ap_getword; static php_rfc1867_getword_conf_t php_rfc1867_getword_conf = php_ap_getword_conf; static php_rfc1867_basename_t php_rfc1867_basename = NULL; From 26c35b494c21b8db501122581575c280fee6ed38 Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Tue, 10 Nov 2026 15:49:46 +0100 Subject: [PATCH 2/2] Review --- main/rfc1867.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/rfc1867.c b/main/rfc1867.c index 803f0715cc9a..934e223a5545 100644 --- a/main/rfc1867.c +++ b/main/rfc1867.c @@ -43,7 +43,7 @@ static char *php_ap_getword_conf(const zend_encoding *encoding, char *str); static php_rfc1867_encoding_translation_t php_rfc1867_encoding_translation = dummy_encoding_translation; static php_rfc1867_get_detect_order_t php_rfc1867_get_detect_order = NULL; -static php_rfc1867_set_input_encoding_t ZEND_ATTRIBUTE_UNUSED php_rfc1867_set_input_encoding = NULL; +ZEND_ATTRIBUTE_UNUSED static php_rfc1867_set_input_encoding_t php_rfc1867_set_input_encoding = NULL; static php_rfc1867_getword_t php_rfc1867_getword = php_ap_getword; static php_rfc1867_getword_conf_t php_rfc1867_getword_conf = php_ap_getword_conf; static php_rfc1867_basename_t php_rfc1867_basename = NULL;