summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/tests/036.phpt9
-rw-r--r--Zend/tests/alternative_offset_syntax_compile_error_in_const_expr.phpt9
-rw-r--r--Zend/tests/alternative_offset_syntax_compile_error_outside_const_expr.phpt9
-rw-r--r--Zend/tests/constant_expressions_coalesce.phpt26
-rw-r--r--Zend/tests/varSyntax/newVariable.phpt4
-rw-r--r--Zend/zend_compile.c5
-rw-r--r--ext/iconv/tests/eucjp2iso2022jp.phpt2
-rw-r--r--tests/strings/offsets_general.phpt38
8 files changed, 22 insertions, 80 deletions
diff --git a/Zend/tests/036.phpt b/Zend/tests/036.phpt
index 6b6549d935..8f74bccc07 100644
--- a/Zend/tests/036.phpt
+++ b/Zend/tests/036.phpt
@@ -8,14 +8,7 @@ try {
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
-try {
- $a{function() { }} = 1;
-} catch (Error $e) {
- echo $e->getMessage(), "\n";
-}
?>
---EXPECTF--
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s on line %d
-Illegal offset type
+--EXPECT--
Illegal offset type
diff --git a/Zend/tests/alternative_offset_syntax_compile_error_in_const_expr.phpt b/Zend/tests/alternative_offset_syntax_compile_error_in_const_expr.phpt
new file mode 100644
index 0000000000..7001d924e8
--- /dev/null
+++ b/Zend/tests/alternative_offset_syntax_compile_error_in_const_expr.phpt
@@ -0,0 +1,9 @@
+--TEST--
+Alternative offset syntax should emit E_COMPILE_ERROR in const expression
+--FILE--
+<?php
+const FOO_COMPILE_ERROR = "BAR"{0};
+var_dump(FOO_COMPILE_ERROR);
+?>
+--EXPECTF--
+Fatal error: Array and string offset access syntax with curly braces is no longer supported in %s on line 2
diff --git a/Zend/tests/alternative_offset_syntax_compile_error_outside_const_expr.phpt b/Zend/tests/alternative_offset_syntax_compile_error_outside_const_expr.phpt
new file mode 100644
index 0000000000..c5e5848b6c
--- /dev/null
+++ b/Zend/tests/alternative_offset_syntax_compile_error_outside_const_expr.phpt
@@ -0,0 +1,9 @@
+--TEST--
+Alternative offset syntax should emit E_COMPILE_ERROR outside const expression
+--FILE--
+<?php
+$foo = 'BAR';
+var_dump($foo{0});
+?>
+--EXPECTF--
+Fatal error: Array and string offset access syntax with curly braces is no longer supported in %s on line 3
diff --git a/Zend/tests/constant_expressions_coalesce.phpt b/Zend/tests/constant_expressions_coalesce.phpt
index 27740aa72e..425aba69c4 100644
--- a/Zend/tests/constant_expressions_coalesce.phpt
+++ b/Zend/tests/constant_expressions_coalesce.phpt
@@ -5,12 +5,6 @@ Constant expressions with null coalescing operator ??
const A = [1 => [[]]];
-// should produce deprecation notices
-const D_1 = null ?? A[1]{'undefined'}['index'] ?? 1;
-const D_2 = null ?? A['undefined']{'index'} ?? 2;
-const D_3 = null ?? A[1]{0}{2} ?? 3; // 2 deprecation notices
-const D_4 = A[1]{0} ?? 4;
-
const T_1 = null ?? A[1]['undefined']['index'] ?? 1;
const T_2 = null ?? A['undefined']['index'] ?? 2;
const T_3 = null ?? A[1][0][2] ?? 3;
@@ -18,11 +12,6 @@ const T_4 = A[1][0][2] ?? 4;
const T_5 = null ?? __LINE__;
const T_6 = __LINE__ ?? "bar";
-var_dump(D_1);
-var_dump(D_2);
-var_dump(D_3);
-var_dump(D_4);
-
var_dump(T_1);
var_dump(T_2);
var_dump(T_3);
@@ -42,21 +31,6 @@ var_dump((new class { public $var = A[1][0][2] ?? 4; })->var);
?>
--EXPECTF--
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
-int(1)
-int(2)
-int(3)
-array(0) {
-}
int(1)
int(2)
int(3)
diff --git a/Zend/tests/varSyntax/newVariable.phpt b/Zend/tests/varSyntax/newVariable.phpt
index 5505ffc0f1..97927ef439 100644
--- a/Zend/tests/varSyntax/newVariable.phpt
+++ b/Zend/tests/varSyntax/newVariable.phpt
@@ -15,7 +15,6 @@ $weird = [0 => (object) ['foo' => 'Test']];
var_dump(new $className);
var_dump(new $array['className']);
-var_dump(new $array{'className'});
var_dump(new $obj->className);
var_dump(new Test::$className);
var_dump(new $test::$className);
@@ -23,9 +22,6 @@ var_dump(new $weird[0]->foo::$className);
?>
--EXPECTF--
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s on line %d
-object(stdClass)#%d (0) {
-}
object(stdClass)#%d (0) {
}
object(stdClass)#%d (0) {
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 9206a15be5..cc7eb6f1d5 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -2626,9 +2626,8 @@ static inline void zend_emit_assign_znode(zend_ast *var_ast, znode *value_node)
static zend_op *zend_delayed_compile_dim(znode *result, zend_ast *ast, uint32_t type) /* {{{ */
{
if (ast->attr == ZEND_DIM_ALTERNATIVE_SYNTAX) {
- zend_error(E_DEPRECATED, "Array and string offset access syntax with curly braces is deprecated");
+ zend_error(E_COMPILE_ERROR, "Array and string offset access syntax with curly braces is no longer supported");
}
-
zend_ast *var_ast = ast->child[0];
zend_ast *dim_ast = ast->child[1];
zend_op *opline;
@@ -9183,7 +9182,7 @@ void zend_eval_const_expr(zend_ast **ast_ptr) /* {{{ */
if (ast->attr & ZEND_DIM_ALTERNATIVE_SYNTAX) {
ast->attr &= ~ZEND_DIM_ALTERNATIVE_SYNTAX; /* remove flag to avoid duplicate warning */
- zend_error(E_DEPRECATED, "Array and string offset access syntax with curly braces is deprecated");
+ zend_error(E_COMPILE_ERROR, "Array and string offset access syntax with curly braces is no longer supported");
}
/* Set isset fetch indicator here, opcache disallows runtime altering of the AST */
diff --git a/ext/iconv/tests/eucjp2iso2022jp.phpt b/ext/iconv/tests/eucjp2iso2022jp.phpt
index aacdc238c6..30ff76e514 100644
--- a/ext/iconv/tests/eucjp2iso2022jp.phpt
+++ b/ext/iconv/tests/eucjp2iso2022jp.phpt
@@ -11,7 +11,7 @@ error_reporting=2039
function hexdump($str) {
$len = strlen($str);
for ($i = 0; $i < $len; ++$i) {
- printf("%02x", ord($str{$i}));
+ printf("%02x", ord($str[$i]));
}
print "\n";
}
diff --git a/tests/strings/offsets_general.phpt b/tests/strings/offsets_general.phpt
index b2ceea088a..7bbe9618d5 100644
--- a/tests/strings/offsets_general.phpt
+++ b/tests/strings/offsets_general.phpt
@@ -12,34 +12,8 @@ var_dump(isset($string[0][0]));
var_dump($string["foo"]);
var_dump(isset($string["foo"]["bar"]));
-const FOO_DEPRECATED = "BAR"{0};
-var_dump(FOO_DEPRECATED);
-var_dump([$string{0}]); // 1 notice
-var_dump($string{1});
-var_dump(isset($string{0}));
-var_dump(isset($string{0}{0})); // 2 notices
-var_dump($string{"foo"});
-var_dump(isset($string{"foo"}{"bar"})); // 2 notices
?>
--EXPECTF--
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
-
-Deprecated: Array and string offset access syntax with curly braces is deprecated in %s line %d
string(1) "B"
string(1) "f"
string(1) "o"
@@ -49,15 +23,3 @@ bool(true)
Warning: Illegal string offset 'foo' in %s line %d
string(1) "f"
bool(false)
-string(1) "B"
-array(1) {
- [0]=>
- string(1) "f"
-}
-string(1) "o"
-bool(true)
-bool(true)
-
-Warning: Illegal string offset 'foo' in %s line %d
-string(1) "f"
-bool(false)