mirror of
https://github.com/php/php-src.git
synced 2024-09-22 10:27:25 +00:00
Merge branch 'PHP-7.0' of https://github.com/php/php-src into PHP-7.0
This commit is contained in:
commit
b08bde185d
36
Zend/tests/arg_unpack/by_ref_separation.phpt
Normal file
36
Zend/tests/arg_unpack/by_ref_separation.phpt
Normal file
@ -0,0 +1,36 @@
|
||||
--TEST--
|
||||
Array must be separated if unpacking by reference
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function inc(&... $args) {
|
||||
foreach ($args as &$arg) {
|
||||
$arg++;
|
||||
}
|
||||
}
|
||||
|
||||
$arr = [1, 2];
|
||||
$arr[] = 3;
|
||||
$arr2 = $arr;
|
||||
inc(...$arr);
|
||||
var_dump($arr);
|
||||
var_dump($arr2);
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
array(3) {
|
||||
[0]=>
|
||||
int(2)
|
||||
[1]=>
|
||||
int(3)
|
||||
[2]=>
|
||||
int(4)
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
int(2)
|
||||
[2]=>
|
||||
int(3)
|
||||
}
|
@ -4422,7 +4422,7 @@ ZEND_VM_C_LABEL(send_again):
|
||||
|
||||
zend_vm_stack_extend_call_frame(&EX(call), arg_num - 1, zend_hash_num_elements(ht));
|
||||
|
||||
if (OP1_TYPE != IS_CONST && OP1_TYPE != IS_TMP_VAR && Z_IMMUTABLE_P(args)) {
|
||||
if (OP1_TYPE != IS_CONST && OP1_TYPE != IS_TMP_VAR && Z_REFCOUNT_P(args) > 1) {
|
||||
uint32_t i;
|
||||
int separate = 0;
|
||||
|
||||
@ -4434,7 +4434,7 @@ ZEND_VM_C_LABEL(send_again):
|
||||
}
|
||||
}
|
||||
if (separate) {
|
||||
zval_copy_ctor(args);
|
||||
SEPARATE_ARRAY(args);
|
||||
ht = Z_ARRVAL_P(args);
|
||||
}
|
||||
}
|
||||
@ -4448,7 +4448,7 @@ ZEND_VM_C_LABEL(send_again):
|
||||
|
||||
top = ZEND_CALL_ARG(EX(call), arg_num);
|
||||
if (ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
|
||||
if (!Z_IMMUTABLE_P(args)) {
|
||||
if (Z_REFCOUNT_P(args) == 1) {
|
||||
ZVAL_MAKE_REF(arg);
|
||||
Z_ADDREF_P(arg);
|
||||
ZVAL_REF(top, Z_REF_P(arg));
|
||||
|
@ -954,7 +954,7 @@ send_again:
|
||||
|
||||
zend_vm_stack_extend_call_frame(&EX(call), arg_num - 1, zend_hash_num_elements(ht));
|
||||
|
||||
if (opline->op1_type != IS_CONST && opline->op1_type != IS_TMP_VAR && Z_IMMUTABLE_P(args)) {
|
||||
if (opline->op1_type != IS_CONST && opline->op1_type != IS_TMP_VAR && Z_REFCOUNT_P(args) > 1) {
|
||||
uint32_t i;
|
||||
int separate = 0;
|
||||
|
||||
@ -966,7 +966,7 @@ send_again:
|
||||
}
|
||||
}
|
||||
if (separate) {
|
||||
zval_copy_ctor(args);
|
||||
SEPARATE_ARRAY(args);
|
||||
ht = Z_ARRVAL_P(args);
|
||||
}
|
||||
}
|
||||
@ -980,7 +980,7 @@ send_again:
|
||||
|
||||
top = ZEND_CALL_ARG(EX(call), arg_num);
|
||||
if (ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
|
||||
if (!Z_IMMUTABLE_P(args)) {
|
||||
if (Z_REFCOUNT_P(args) == 1) {
|
||||
ZVAL_MAKE_REF(arg);
|
||||
Z_ADDREF_P(arg);
|
||||
ZVAL_REF(top, Z_REF_P(arg));
|
||||
|
@ -57,11 +57,11 @@ function get_attr($conn)
|
||||
?>
|
||||
--EXPECT--
|
||||
**Test 1.1 - Default values for the attribute **************
|
||||
The value of DRIVER_NAME is PHP OCI8 : 2.1.0
|
||||
The value of DRIVER_NAME is PHP OCI8 : 2.1.1
|
||||
|
||||
***Test 1.2 - Get the values from different connections **************
|
||||
Testing with oci_pconnect()
|
||||
The value of DRIVER_NAME is PHP OCI8 : 2.1.0
|
||||
The value of DRIVER_NAME is PHP OCI8 : 2.1.1
|
||||
Testing with oci_new_connect()
|
||||
The value of DRIVER_NAME is PHP OCI8 : 2.1.0
|
||||
The value of DRIVER_NAME is PHP OCI8 : 2.1.1
|
||||
Done
|
||||
|
@ -2,6 +2,12 @@
|
||||
FPM: Test status page
|
||||
--SKIPIF--
|
||||
<?php include "skipif.inc"; ?>
|
||||
--XFAIL--
|
||||
randomly intermittently failing all the time in CI, with diff:
|
||||
017+ active processes: 0
|
||||
018+ total processes: 1
|
||||
017- active processes: 1
|
||||
018- total processes: 2
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user