blob: e82d6a661711b536be8018c636f2f6319cfba6c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
util.c AOK
Illegal octal digit ignored
my $a = oct "029" ;
Illegal hex digit ignored
my $a = hex "0xv9" ;
Illegal binary digit ignored
my $a = oct "0b9" ;
Integer overflow in binary number
my $a = oct "0b111111111111111111111111111111111111111111" ;
Binary number > 0b11111111111111111111111111111111 non-portable
$a = oct "0b111111111111111111111111111111111" ;
Integer overflow in octal number
my $a = oct "077777777777777777777777777777" ;
Octal number > 037777777777 non-portable
$a = oct "0047777777777" ;
Integer overflow in hexadecimal number
my $a = hex "0xffffffffffffffffffff" ;
Hexadecimal number > 0xffffffff non-portable
$a = hex "0x1ffffffff" ;
__END__
# util.c
use warnings 'digit' ;
my $a = oct "029" ;
no warnings 'digit' ;
$a = oct "029" ;
EXPECT
Illegal octal digit '9' ignored at - line 3.
########
# util.c
use warnings 'digit' ;
my $a = hex "0xv9" ;
no warnings 'digit' ;
$a = hex "0xv9" ;
EXPECT
Illegal hexadecimal digit 'v' ignored at - line 3.
########
# util.c
use warnings 'digit' ;
my $a = oct "0b9" ;
no warnings 'digit' ;
$a = oct "0b9" ;
EXPECT
Illegal binary digit '9' ignored at - line 3.
########
# util.c
use warnings 'overflow' ;
my $a = oct "0b11111111111111111111111111111111111111111111111111111111111111111";
no warnings 'overflow' ;
$a = oct "0b11111111111111111111111111111111111111111111111111111111111111111";
EXPECT
Integer overflow in binary number at - line 3.
########
# util.c
use warnings 'overflow' ;
my $a = hex "0xffffffffffffffffffff" ;
no warnings 'overflow' ;
$a = hex "0xffffffffffffffffffff" ;
EXPECT
Integer overflow in hexadecimal number at - line 3.
########
# util.c
use warnings 'overflow' ;
my $a = oct "077777777777777777777777777777" ;
no warnings 'overflow' ;
$a = oct "077777777777777777777777777777" ;
EXPECT
Integer overflow in octal number at - line 3.
########
# util.c
use warnings 'portable' ;
my $a = oct "0b011111111111111111111111111111110" ;
$a = oct "0b011111111111111111111111111111111" ;
$a = oct "0b111111111111111111111111111111111" ;
no warnings 'portable' ;
$a = oct "0b011111111111111111111111111111110" ;
$a = oct "0b011111111111111111111111111111111" ;
$a = oct "0b111111111111111111111111111111111" ;
EXPECT
Binary number > 0b11111111111111111111111111111111 non-portable at - line 5.
########
# util.c
use warnings 'portable' ;
my $a = hex "0x0fffffffe" ;
$a = hex "0x0ffffffff" ;
$a = hex "0x1ffffffff" ;
no warnings 'portable' ;
$a = hex "0x0fffffffe" ;
$a = hex "0x0ffffffff" ;
$a = hex "0x1ffffffff" ;
EXPECT
Hexadecimal number > 0xffffffff non-portable at - line 5.
########
# util.c
use warnings 'portable' ;
my $a = oct "0037777777776" ;
$a = oct "0037777777777" ;
$a = oct "0047777777777" ;
no warnings 'portable' ;
$a = oct "0037777777776" ;
$a = oct "0037777777777" ;
$a = oct "0047777777777" ;
EXPECT
Octal number > 037777777777 non-portable at - line 5.
|