From 8aec95e23f767ba78cf982b36fbc1db644fb53b3 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sat, 4 May 2024 19:17:42 +0200 Subject: [PATCH] Fix build on Clang 18 (#14136) Clang 18 only allows counted_by to work on real flexible array members, not ones with a zero size. Otherwise you get errors like: ``` ext/opcache/jit/zend_jit_ir.c:149:12: error: 'counted_by' only applies to C99 flexible array members ``` --- ext/ffi/ffi.c | 2 +- ext/opcache/jit/zend_jit_ir.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/ffi/ffi.c b/ext/ffi/ffi.c index ff2d3a96036..375547c30e2 100644 --- a/ext/ffi/ffi.c +++ b/ext/ffi/ffi.c @@ -913,7 +913,7 @@ typedef struct _zend_ffi_callback_data { ffi_cif cif; uint32_t arg_count; ffi_type *ret_type; - ffi_type *arg_types[0] ZEND_ELEMENT_COUNT(arg_count); + ffi_type *arg_types[] ZEND_ELEMENT_COUNT(arg_count); } zend_ffi_callback_data; static void zend_ffi_callback_hash_dtor(zval *zv) /* {{{ */ diff --git a/ext/opcache/jit/zend_jit_ir.c b/ext/opcache/jit/zend_jit_ir.c index 18bcbbd1411..200f40284d2 100644 --- a/ext/opcache/jit/zend_jit_ir.c +++ b/ext/opcache/jit/zend_jit_ir.c @@ -146,7 +146,7 @@ typedef struct _ir_refs { uint32_t count; uint32_t limit; - ir_ref refs[0] ZEND_ELEMENT_COUNT(count); + ir_ref refs[] ZEND_ELEMENT_COUNT(count); } ir_refs; #define ir_refs_size(_n) (offsetof(ir_refs, refs) + sizeof(ir_ref) * (_n))