1--TEST-- 2SCCP 006: Conditional Constant Propagation of non-escaping array elements 3--INI-- 4opcache.enable=1 5opcache.enable_cli=1 6opcache.optimization_level=-1 7opcache.opt_debug_level=0x20000 8opcache.preload= 9--SKIPIF-- 10<?php require_once('skipif.inc'); ?> 11--FILE-- 12<?php 13function foo(int $x) { 14 $a = ["a"=>1,"a"=>2,"a"=>$x]; 15 echo $a["a"]; 16} 17?> 18--EXPECTF-- 19$_main: ; (lines=1, args=0, vars=0, tmps=0) 20 ; (after optimizer) 21 ; %ssccp_006.php:1-7 22L0 (7): RETURN int(1) 23 24foo: ; (lines=8, args=1, vars=2, tmps=1) 25 ; (after optimizer) 26 ; %ssccp_006.php:2-5 27L0 (2): CV0($x) = RECV 1 28L1 (3): T2 = INIT_ARRAY 3 int(1) string("a") 29L2 (3): T2 = ADD_ARRAY_ELEMENT int(2) string("a") 30L3 (3): T2 = ADD_ARRAY_ELEMENT CV0($x) string("a") 31L4 (3): CV1($a) = QM_ASSIGN T2 32L5 (4): T2 = FETCH_DIM_R CV1($a) string("a") 33L6 (4): ECHO T2 34L7 (5): RETURN null 35LIVE RANGES: 36 2: L2 - L4 (tmp/var) 37