aports/testing/php84/fix-variadics.patch
2024-08-14 01:27:23 +02:00

51 lines
2.1 KiB
Diff

Patch-Source: https://github.com/php/php-src/commit/65c6d723199355e27151afd73dc312c3b82cb30d
From 65c6d723199355e27151afd73dc312c3b82cb30d Mon Sep 17 00:00:00 2001
From: "Christoph M. Becker" <cmbecker69@gmx.de>
Date: Tue, 13 Aug 2024 19:46:48 +0200
Subject: [PATCH] Drop FASTCALL on variadic functions (GH-15389)
This is unlikely to be properly supported by compilers anyway, see
<https://github.com/php/php-src/pull/2975>.
---
Zend/zend_ast.c | 4 ++--
Zend/zend_ast.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c
index 81562411e6b0c..5ecda76870452 100644
--- a/Zend/zend_ast.c
+++ b/Zend/zend_ast.c
@@ -290,7 +290,7 @@ ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_va(
return ast;
}
-ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_n(unsigned kind, ...) {
+ZEND_API zend_ast * zend_ast_create_n(unsigned kind, ...) {
va_list va;
va_start(va, kind);
zend_ast *ast = zend_ast_create_va(kind, 0, &va);
@@ -298,7 +298,7 @@ ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_n(unsigned kind, ...) {
return ast;
}
-ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_ex_n(
+ZEND_API zend_ast * zend_ast_create_ex_n(
zend_ast_kind kind, unsigned attr, ...) {
va_list va;
va_start(va, attr);
diff --git a/Zend/zend_ast.h b/Zend/zend_ast.h
index df33d5c35ef05..8d1d93f2564a7 100644
--- a/Zend/zend_ast.h
+++ b/Zend/zend_ast.h
@@ -249,8 +249,8 @@ ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_5(zend_ast_kind kind, zend_ast
ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_va(zend_ast_kind kind, zend_ast_attr attr, va_list *va);
/* Need to use unsigned args to avoid va promotion UB. */
-ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_n(unsigned kind, ...);
-ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_ex_n(zend_ast_kind kind, unsigned attr, ...);
+ZEND_API zend_ast * zend_ast_create_n(unsigned kind, ...);
+ZEND_API zend_ast * zend_ast_create_ex_n(zend_ast_kind kind, unsigned attr, ...);
static zend_always_inline zend_ast * zend_ast_create_ex_0(zend_ast_kind kind, zend_ast_attr attr) {
zend_ast *ast = zend_ast_create_0(kind);