1--TEST-- 2Temporary leak with switch 3--XFAIL-- 4See Bug #62210 and attempt to fix it in "tmp_livelibess" branch 5--FILE-- 6<?php 7 8function ops() { 9 throw new Exception(); 10} 11 12$a = [new stdClass, new stdClass]; 13switch ($a[0]) { 14 case false: 15 break; 16 default: 17 try { 18 $x = 2; 19 $y = new stdClass; 20 while ($x-- && new stdClass) { 21 $r = [$x] + ($y ? ((array) $x) + [2] : ops()); 22 $y = (array) $y; 23 } 24 } catch (Exception $e) { 25 } 26} 27 28try { 29 switch ($a[0]) { 30 case false: 31 break; 32 default: 33 $x = 2; 34 $y = new stdClass; 35 while ($x-- && new stdClass) { 36 $r = [$x] + ($y ? ((array) $x) + [2] : ops()); 37 $y = (array) $y; 38 } 39 } 40} catch (Exception $e) { 41} 42 43?> 44==DONE== 45--EXPECT-- 46==DONE== 47