dce_002.phpt 739 B

12345678910111213141516171819202122232425262728293031323334353637
  1. --TEST--
  2. DCE 002: func_get_args() disables deletion of assignments to parameter variables
  3. --INI--
  4. opcache.enable=1
  5. opcache.enable_cli=1
  6. opcache.optimization_level=-1
  7. opcache.opt_debug_level=0x20000
  8. opcache.preload=
  9. --EXTENSIONS--
  10. opcache
  11. --FILE--
  12. <?php
  13. function foo(int $a) {
  14. $a = 10;
  15. $b = 20;
  16. $x = func_get_args();
  17. $a = 30;
  18. $b = 40;
  19. return $x;
  20. }
  21. ?>
  22. --EXPECTF--
  23. $_main:
  24. ; (lines=1, args=0, vars=0, tmps=0)
  25. ; (after optimizer)
  26. ; %sdce_002.php:1-11
  27. 0000 RETURN int(1)
  28. foo:
  29. ; (lines=5, args=1, vars=2, tmps=0)
  30. ; (after optimizer)
  31. ; %sdce_002.php:2-9
  32. 0000 CV0($a) = RECV 1
  33. 0001 CV0($a) = QM_ASSIGN int(10)
  34. 0002 CV1($x) = FUNC_GET_ARGS
  35. 0003 CV0($a) = QM_ASSIGN int(30)
  36. 0004 RETURN CV1($x)