bug81226.phpt 632 B

123456789101112131415161718192021222324252627282930
  1. --TEST--
  2. Bug #81226: Integer overflow behavior is different with JIT enabled
  3. --EXTENSIONS--
  4. opcache
  5. --INI--
  6. opcache.enable=1
  7. opcache.enable_cli=1
  8. opcache.jit_buffer_size=1M
  9. opcache.jit=tracing
  10. --SKIPIF--
  11. <?php if (PHP_INT_SIZE != 8) die("skip: 64-bit only"); ?>
  12. --FILE--
  13. <?php
  14. // 65-bit hexadecimal number
  15. $hex = '10000000000000041';
  16. for ($i = 0; $i < 200; ++$i) {
  17. $characterReferenceCode = 0;
  18. for ($j = 0, $len = strlen($hex); $j < $len; ++$j) {
  19. $characterReferenceCode *= 16;
  20. $characterReferenceCode += ord($hex[$j]) - 0x0030;
  21. }
  22. assert($characterReferenceCode > 0x10FFFF);
  23. }
  24. ?>
  25. OK
  26. --EXPECT--
  27. OK