1--TEST--
2Octal integer strings (32bit)
3--SKIPIF--
4<?php
5if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
6?>
7--FILE--
8<?php
9/* Using octal prefix notation lowercase */
10/* Maximum value representable as integer */
11$octal = 0o17777777777;
12var_dump($octal);
13var_dump(PHP_INT_MAX);
14
15/* Floating number */
16$octal = 0o45734321536435450000000000;
17var_dump($octal);
18
19/* Integer */
20$octal = 0o16;
21var_dump($octal);
22
23/* underscore separator */
24$octal = 0o1_6;
25var_dump($octal);
26
27/* Ignore leading 0 and _ */
28$octal = 0o0_016;
29var_dump($octal);
30$octal = 0o0_16;
31var_dump($octal);
32
33/* Overflow to infinity */
34$octal = 0o77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
35var_dump($octal);
36
37/* Using octal prefix notation uppercase */
38/* Maximum value representable as integer */
39$octal = 0O17777777777;
40var_dump($octal);
41var_dump(PHP_INT_MAX);
42
43/* Floating number */
44$octal = 0O45734321536435450000000000;
45var_dump($octal);
46
47/* Integer */
48$octal = 0O16;
49var_dump($octal);
50
51/* underscore separator */
52$octal = 0O1_6;
53var_dump($octal);
54
55/* Ignore leading 0 and _ */
56$octal = 0O0_016;
57var_dump($octal);
58$octal = 0O0_16;
59var_dump($octal);
60
61/* Overflow to infinity */
62$octal = 0O77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
63var_dump($octal);
64
65/* Using no dedicated prefix */
66/* Maximum value representable as integer */
67$octal = 017777777777;
68var_dump($octal);
69var_dump(PHP_INT_MAX);
70
71/* Floating number */
72$octal = 045734321536435450000000000;
73var_dump($octal);
74
75/* Integer */
76$octal = 016;
77var_dump($octal);
78
79/* underscore separator */
80$octal = 01_6;
81var_dump($octal);
82
83/* Ignore leading 0 and _ */
84$octal = 00_016;
85var_dump($octal);
86$octal = 0_16;
87var_dump($octal);
88
89/* Overflow to infinity */
90$octal = 077777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
91var_dump($octal);
92
93?>
94--EXPECT--
95int(2147483647)
96int(2147483647)
97float(1.7912166229916324E+23)
98int(14)
99int(14)
100int(14)
101int(14)
102float(INF)
103int(2147483647)
104int(2147483647)
105float(1.7912166229916324E+23)
106int(14)
107int(14)
108int(14)
109int(14)
110float(INF)
111int(2147483647)
112int(2147483647)
113float(1.7912166229916324E+23)
114int(14)
115int(14)
116int(14)
117int(14)
118float(INF)
119