[php-src] PR #24360: Fix -Wint-to-pointer-cast warnings in the CALL VM on 32-bit
| From: | marc-mabe | Date: | Thu, 15 Oct 2026 18:49:21 +0000 |
| Subject: | [php-src] PR #24360: Fix -Wint-to-pointer-cast warnings in the CALL VM on 32-bit | ||
| Groups: | php.git-pulls | ||
| Request: | Send a blank email to git-pulls+get-39484@lists.php.net to get a copy of this message | ||
Pull Request: https://github.com/php/php-src/pull/24360
Author: marc-mabe
ZEND_VM_ENTER_BIT tags the opline returned by CALL VM handlers. It is 1ULL so that
~ZEND_VM_ENTER_BIT keeps the upper half of 64-bit pointers, but on 32-bit platforms it widens the
tagged pointer expressions to 64 bits, and casting those back to a pointer warns. This breaks
--enable-werror builds where no global VM registers are used, e.g. arm32, or i386 with
--disable-gcc-global-regs, which also hits the copy of the definition in the JIT.
Use (uintptr_t)1 instead, which is exactly pointer-sized everywhere.