Skip to content

Commit 5638faf

Browse files
committed
Merge branch 'PHP-8.0'
2 parents ec6f6df + ab4c597 commit 5638faf

File tree

3 files changed

+26
-20
lines changed

3 files changed

+26
-20
lines changed

ext/ffi/ffi.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3865,7 +3865,7 @@ ZEND_METHOD(FFI, cast) /* {{{ */
38653865
RETURN_OBJ(&cdata->std);
38663866
} else {
38673867
zend_wrong_parameter_class_error(2, "FFI\\CData", zv);
3868-
return;
3868+
RETURN_THROWS();
38693869
}
38703870
}
38713871

@@ -4006,7 +4006,7 @@ ZEND_METHOD(FFI, typeof) /* {{{ */
40064006
}
40074007
} else {
40084008
zend_wrong_parameter_class_error(1, "FFI\\CData", zv);
4009-
return;
4009+
RETURN_THROWS();
40104010
}
40114011

40124012
ctype = (zend_ffi_ctype*)zend_ffi_ctype_new(zend_ffi_ctype_ce);
@@ -4110,7 +4110,7 @@ ZEND_METHOD(FFI, addr) /* {{{ */
41104110
ZVAL_DEREF(zv);
41114111
if (Z_TYPE_P(zv) != IS_OBJECT || Z_OBJCE_P(zv) != zend_ffi_cdata_ce) {
41124112
zend_wrong_parameter_class_error(1, "FFI\\CData", zv);
4113-
return;
4113+
RETURN_THROWS();
41144114
}
41154115

41164116
cdata = (zend_ffi_cdata*)Z_OBJ_P(zv);
@@ -4165,7 +4165,7 @@ ZEND_METHOD(FFI, sizeof) /* {{{ */
41654165
type = ZEND_FFI_TYPE(ctype->type);
41664166
} else {
41674167
zend_wrong_parameter_class_error(1, "FFI\\CData or FFI\\CType", zv);
4168-
return;
4168+
RETURN_THROWS();
41694169
}
41704170

41714171
RETURN_LONG(type->size);
@@ -4191,7 +4191,7 @@ ZEND_METHOD(FFI, alignof) /* {{{ */
41914191
type = ZEND_FFI_TYPE(ctype->type);
41924192
} else {
41934193
zend_wrong_parameter_class_error(1, "FFI\\CData or FFI\\CType", zv);
4194-
return;
4194+
RETURN_THROWS();
41954195
}
41964196

41974197
RETURN_LONG(type->align);
@@ -4246,7 +4246,7 @@ ZEND_METHOD(FFI, memcpy) /* {{{ */
42464246
}
42474247
} else {
42484248
zend_wrong_parameter_class_error(2, "FFI\\CData or string", zv2);
4249-
return;
4249+
RETURN_THROWS();
42504250
}
42514251

42524252
memcpy(ptr1, ptr2, size);
@@ -4290,7 +4290,7 @@ ZEND_METHOD(FFI, memcmp) /* {{{ */
42904290
}
42914291
} else {
42924292
zend_wrong_parameter_class_error(1, "FFI\\CData or string", zv1);
4293-
return;
4293+
RETURN_THROWS();
42944294
}
42954295

42964296
ZVAL_DEREF(zv2);
@@ -4314,7 +4314,7 @@ ZEND_METHOD(FFI, memcmp) /* {{{ */
43144314
}
43154315
} else {
43164316
zend_wrong_parameter_class_error(2, "FFI\\CData or string", zv2);
4317-
return;
4317+
RETURN_THROWS();
43184318
}
43194319

43204320
ret = memcmp(ptr1, ptr2, size);
@@ -4416,7 +4416,7 @@ ZEND_METHOD(FFI, isNull) /* {{{ */
44164416
ZVAL_DEREF(zv);
44174417
if (Z_TYPE_P(zv) != IS_OBJECT || Z_OBJCE_P(zv) != zend_ffi_cdata_ce) {
44184418
zend_wrong_parameter_class_error(1, "FFI\\CData", zv);
4419-
return;
4419+
RETURN_THROWS();
44204420
}
44214421

44224422
cdata = (zend_ffi_cdata*)Z_OBJ_P(zv);

ext/ffi/ffi.stub.php

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,24 @@ public static function cast(FFI\CType|string $type, $ptr): ?FFI\CData {}
2626
public static function type(string $type): ?FFI\CType {}
2727

2828
/** @prefer-ref $ptr */
29-
public static function typeof(FFI\CData $ptr): ?FFI\CType {}
29+
public static function typeof(FFI\CData $ptr): FFI\CType {}
3030

3131
public static function arrayType(FFI\CType $type, array $dimensions): ?FFI\CType {}
3232

3333
/** @prefer-ref $ptr */
3434
public static function addr(FFI\CData $ptr): FFI\CData {}
3535

36-
/** @prefer-ref $ptr */
37-
public static function sizeof(object $ptr): ?int {}
36+
/**
37+
* @param FFI\CData|FFI\CType $ptr
38+
* @prefer-ref $ptr
39+
*/
40+
public static function sizeof($ptr): int {}
3841

39-
/** @prefer-ref $ptr */
40-
public static function alignof(object $ptr): ?int {}
42+
/**
43+
* @param FFI\CData|FFI\CType $ptr
44+
* @prefer-ref $ptr
45+
*/
46+
public static function alignof($ptr): int {}
4147

4248
/**
4349
* @param FFI\CData|string $from
@@ -52,7 +58,7 @@ public static function memcpy(FFI\CData $to, $from, int $size): void {}
5258
* @prefer-ref $ptr2
5359
* @param string|FFI\CData $ptr2
5460
*/
55-
public static function memcmp($ptr1, $ptr2, int $size): ?int {}
61+
public static function memcmp($ptr1, $ptr2, int $size): int {}
5662

5763
/** @prefer-ref $ptr */
5864
public static function memset(FFI\CData $ptr, int $value, int $size): void {}

ext/ffi/ffi_arginfo.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: abd3bc186ae3f71f2b7eb1d47f3b6bab84fb2bda */
2+
* Stub hash: 677c62adf295003b4b2d273995a4bda623d507bf */
33

44
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_cdef, 0, 0, FFI, 0)
55
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, code, IS_STRING, 0, "\"\"")
@@ -33,7 +33,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_type, 0, 1, FFI\\CType,
3333
ZEND_ARG_TYPE_INFO(0, type, IS_STRING, 0)
3434
ZEND_END_ARG_INFO()
3535

36-
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_typeof, 0, 1, FFI\\CType, 1)
36+
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_typeof, 0, 1, FFI\\CType, 0)
3737
ZEND_ARG_OBJ_INFO(ZEND_SEND_PREFER_REF, ptr, FFI\\CData, 0)
3838
ZEND_END_ARG_INFO()
3939

@@ -46,8 +46,8 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_addr, 0, 1, FFI\\CData,
4646
ZEND_ARG_OBJ_INFO(ZEND_SEND_PREFER_REF, ptr, FFI\\CData, 0)
4747
ZEND_END_ARG_INFO()
4848

49-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_FFI_sizeof, 0, 1, IS_LONG, 1)
50-
ZEND_ARG_TYPE_INFO(ZEND_SEND_PREFER_REF, ptr, IS_OBJECT, 0)
49+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_FFI_sizeof, 0, 1, IS_LONG, 0)
50+
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, ptr)
5151
ZEND_END_ARG_INFO()
5252

5353
#define arginfo_class_FFI_alignof arginfo_class_FFI_sizeof
@@ -58,7 +58,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_FFI_memcpy, 0, 3, IS_VOID,
5858
ZEND_ARG_TYPE_INFO(0, size, IS_LONG, 0)
5959
ZEND_END_ARG_INFO()
6060

61-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_FFI_memcmp, 0, 3, IS_LONG, 1)
61+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_FFI_memcmp, 0, 3, IS_LONG, 0)
6262
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, ptr1)
6363
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, ptr2)
6464
ZEND_ARG_TYPE_INFO(0, size, IS_LONG, 0)

0 commit comments

Comments
 (0)