Skip to content

Commit 8d6d47a

Browse files
David EllingsworthDavid Ellingsworth
authored andcommitted
Merge branch 'master' into GH15093
2 parents 59849f6 + a7bd911 commit 8d6d47a

22 files changed

+180
-53
lines changed

NEWS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ PHP NEWS
66
. Fix GH-14978 (The xmlreader extension phpize build). (Peter Kokot)
77
. Throw Error exception when encountering recursion during comparison, rather
88
than fatal error. (ilutov)
9+
. Added missing cstddef include for C++ builds. (cmb)
910

1011
- BCMath:
1112
. Adjust bcround()'s $mode parameter to only accept the RoundingMode
@@ -23,6 +24,7 @@ PHP NEWS
2324
- Intl:
2425
. Added SpoofChecker::setAllowedChars to set unicode chars ranges.
2526
(David Carlier)
27+
. Fixed bug GH-15087 (IntlChar::foldCase()'s $option is not optional). (cmb)
2628

2729
- Intl:
2830
. Fixed bug GH-15087 (IntlChar::foldCase()'s $option is not optional). (cmb)
@@ -44,13 +46,19 @@ PHP NEWS
4446
. pg_convert/pg_insert/pg_update/pg_delete ; regexes are now cached.
4547
(David Carlier)
4648

49+
- Random:
50+
. Fixed bug GH-15094 (php_random_default_engine() is not C++ conforming).
51+
(cmb)
52+
4753
- Standard:
4854
. Fix references in request_parse_body() options array. (nielsdos)
4955
. Add RoundingMode enum. (timwolla, saki)
5056

5157
- Tidy:
5258
. Failures in the constructor now throw exceptions rather than emitting
5359
warnings and having a broken object. (nielsdos)
60+
. Add tidyNode::getNextSibling() and tidyNode::getPreviousSibling().
61+
(nielsdos)
5462

5563
- XSL:
5664
. Fix trampoline leak in xpath callables. (nielsdos)

UPGRADING

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -667,6 +667,9 @@ PHP 8.4 UPGRADE NOTES
667667
array_any().
668668
RFC: https://wiki.php.net/rfc/array_find
669669

670+
- Tidy:
671+
. Added tidyNode::getNextSibling() and tidyNode::getPreviousSibling().
672+
670673
- XMLReader:
671674
. Added XMLReader::fromStream(), XMLReader::fromUri(), XMLReader::fromString().
672675
RFC: https://wiki.php.net/rfc/xmlreader_writer_streams

Zend/Optimizer/zend_inference.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4998,8 +4998,6 @@ ZEND_API bool zend_may_throw_ex(const zend_op *opline, const zend_ssa_op *ssa_op
49984998

49994999
switch (opline->opcode) {
50005000
case ZEND_NOP:
5001-
case ZEND_IS_IDENTICAL:
5002-
case ZEND_IS_NOT_IDENTICAL:
50035001
case ZEND_QM_ASSIGN:
50045002
case ZEND_JMP:
50055003
case ZEND_CHECK_VAR:
@@ -5021,10 +5019,14 @@ ZEND_API bool zend_may_throw_ex(const zend_op *opline, const zend_ssa_op *ssa_op
50215019
case ZEND_FUNC_NUM_ARGS:
50225020
case ZEND_FUNC_GET_ARGS:
50235021
case ZEND_COPY_TMP:
5024-
case ZEND_CASE_STRICT:
50255022
case ZEND_JMP_NULL:
50265023
case ZEND_JMP_FRAMELESS:
50275024
return 0;
5025+
case ZEND_IS_IDENTICAL:
5026+
case ZEND_IS_NOT_IDENTICAL:
5027+
case ZEND_CASE_STRICT:
5028+
/* Array to array comparison may lead to recursion. */
5029+
return (t1 & t2) & MAY_BE_ARRAY_OF_ARRAY;
50285030
case ZEND_SEND_VAR:
50295031
case ZEND_SEND_VAL:
50305032
case ZEND_SEND_REF:

Zend/zend_portability.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -791,9 +791,13 @@ extern "C++" {
791791
# define ZEND_STATIC_ASSERT(c, m)
792792
#endif
793793

794-
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) /* C11 */ \
795-
|| (defined(__cplusplus) && __cplusplus >= 201103L) /* C++11 */
794+
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) /* C11 */
796795
typedef max_align_t zend_max_align_t;
796+
#elif (defined(__cplusplus) && __cplusplus >= 201103L) /* C++11 */
797+
extern "C++" {
798+
# include <cstddef>
799+
}
800+
typedef std::max_align_t zend_max_align_t;
797801
#else
798802
typedef union {
799803
char c;

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ AC_CONFIG_SRCDIR([main/php_version.h])
2222
AC_CONFIG_AUX_DIR([build])
2323
AC_PRESERVE_HELP_ORDER
2424

25-
PHP_CONFIG_NICE(config.nice)
25+
PHP_CONFIG_NICE([config.nice])
2626

2727
PHP_CANONICAL_HOST_TARGET
2828

ext/dba/tests/dba_flatfile.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ bool(true)
2929
bool(true)
3030
Try to remove key 1 again
3131
bool(false)
32+
[key10]name10: Content String 10
33+
[key30]name30: Content String 30
3234
key2: Content String 2
3335
key4: Another Content String
3436
key5: The last content string
3537
name9: Content String 9
36-
[key10]name10: Content String 10
37-
[key30]name30: Content String 30
3838
Total keys: 6
3939
Key 1 exists? N
4040
Key 2 exists? Y

ext/dba/tests/dba_gdbm.phpt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ bool(true)
3535
bool(true)
3636
Try to remove key 1 again
3737
bool(false)
38-
key4: Another Content String
38+
[key10]name10: Content String 10
39+
[key30]name30: Content String 30
3940
key2: Content String 2
41+
key4: Another Content String
4042
key5: The last content string
41-
[key10]name10: Content String 10
4243
name9: Content String 9
43-
[key30]name30: Content String 30
4444
Total keys: 6
4545
Key 1 exists? N
4646
Key 2 exists? Y
@@ -81,12 +81,12 @@ bool(true)
8181
bool(true)
8282
Try to remove key 1 again
8383
bool(false)
84-
key4: Another Content String
84+
[key10]name10: Content String 10
85+
[key30]name30: Content String 30
8586
key2: Content String 2
87+
key4: Another Content String
8688
key5: The last content string
87-
[key10]name10: Content String 10
8889
name9: Content String 9
89-
[key30]name30: Content String 30
9090
Total keys: 6
9191
Key 1 exists? N
9292
Key 2 exists? Y

ext/dba/tests/dba_inifile.phpt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ bool(true)
3030
bool(true)
3131
Try to remove key 1 again
3232
bool(false)
33-
key2: Content String 2
34-
key4: Another Content String
35-
key5: The last content string
36-
name9: Content String 9
3733
[key10]:
3834
[key10]name10: Content String 10
3935
[key30]:
4036
[key30]name30: Content String 30
37+
key2: Content String 2
38+
key4: Another Content String
39+
key5: The last content string
40+
name9: Content String 9
4141
Total keys: 8
4242
Key 1 exists? N
4343
Key 2 exists? Y

ext/dba/tests/dba_ndbm.phpt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ bool(true)
3636
bool(true)
3737
Try to remove key 1 again
3838
bool(false)
39-
key4: Another Content String
39+
[key10]name10: Content String 10
40+
[key30]name30: Content String 30
4041
key2: Content String 2
42+
key4: Another Content String
4143
key5: The last content string
42-
[key10]name10: Content String 10
4344
name9: Content String 9
44-
[key30]name30: Content String 30
4545
Total keys: 6
4646
Key 1 exists? N
4747
Key 2 exists? Y
@@ -82,12 +82,12 @@ bool(true)
8282
bool(true)
8383
Try to remove key 1 again
8484
bool(false)
85-
key4: Another Content String
85+
[key10]name10: Content String 10
86+
[key30]name30: Content String 30
8687
key2: Content String 2
88+
key4: Another Content String
8789
key5: The last content string
88-
[key10]name10: Content String 10
8990
name9: Content String 9
90-
[key30]name30: Content String 30
9191
Total keys: 6
9292
Key 1 exists? N
9393
Key 2 exists? Y

ext/dba/tests/dba_qdbm.phpt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ bool(true)
3535
bool(true)
3636
Try to remove key 1 again
3737
bool(false)
38+
[key10]name10: Content String 10
39+
[key30]name30: Content String 30
3840
key2: Content String 2
3941
key4: Another Content String
4042
key5: The last content string
4143
name9: Content String 9
42-
[key10]name10: Content String 10
43-
[key30]name30: Content String 30
4444
Total keys: 6
4545
Key 1 exists? N
4646
Key 2 exists? Y
@@ -81,12 +81,12 @@ bool(true)
8181
bool(true)
8282
Try to remove key 1 again
8383
bool(false)
84+
[key10]name10: Content String 10
85+
[key30]name30: Content String 30
8486
key2: Content String 2
8587
key4: Another Content String
8688
key5: The last content string
8789
name9: Content String 9
88-
[key10]name10: Content String 10
89-
[key30]name30: Content String 30
9090
Total keys: 6
9191
Key 1 exists? N
9292
Key 2 exists? Y

0 commit comments

Comments
 (0)