Removing Y2K warnings
[p5sagit/p5-mst-13.2.git] / t / lib / warnings / sv
1   sv.c  
2
3   warn(warn_uninit);
4
5   warn(warn_uninit);
6
7   warn(warn_uninit);
8
9   warn(warn_uninit);
10
11   not_a_number(sv);
12
13   not_a_number(sv);
14
15   warn(warn_uninit);
16
17   not_a_number(sv);
18
19   warn(warn_uninit);
20
21   not_a_number(sv);
22
23   not_a_number(sv);
24
25   warn(warn_uninit);
26
27   warn(warn_uninit);
28
29   Subroutine %s redefined       
30
31   Invalid conversion in %s:
32
33   Undefined value assigned to typeglob
34
35   Reference is already weak                     [Perl_sv_rvweaken] <<TODO
36
37   Mandatory Warnings
38   ------------------
39   Malformed UTF-8 character [sv_pos_b2u] (not tested: difficult to produce
40                                           with perl now)
41
42   Mandatory Warnings TODO
43   ------------------
44     Attempt to free non-arena SV: 0x%lx         [del_sv]
45     Reference miscount in sv_replace()          [sv_replace]
46     Attempt to free unreferenced scalar         [sv_free]
47     Attempt to free temp prematurely: SV 0x%lx  [sv_free]
48     semi-panic: attempt to dup freed string     [newSVsv]
49     
50
51 __END__
52 # sv.c
53 use integer ;
54 use warnings 'uninitialized' ;
55 $x = 1 + $a[0] ; # a
56 no warnings 'uninitialized' ;
57 $x = 1 + $b[0] ; # a
58 EXPECT
59 Use of uninitialized value $a[0] in integer addition (+) at - line 4.
60 ########
61 # sv.c (sv_2iv)
62 package fred ;
63 sub TIESCALAR { my $x ; bless \$x}
64 sub FETCH { return undef }
65 sub STORE { return 1 }
66 package main ;
67 tie $A, 'fred' ;
68 use integer ;
69 use warnings 'uninitialized' ;
70 $A *= 2 ;
71 no warnings 'uninitialized' ;
72 $A *= 2 ;
73 EXPECT
74 Use of uninitialized value $A in integer multiplication (*) at - line 10.
75 ########
76 # sv.c
77 use integer ;
78 use warnings 'uninitialized' ;
79 my $x *= 2 ; #b 
80 no warnings 'uninitialized' ;
81 my $y *= 2 ; #b 
82 EXPECT
83 Use of uninitialized value $x in integer multiplication (*) at - line 4.
84 ########
85 # sv.c (sv_2uv)
86 package fred ;
87 sub TIESCALAR { my $x ; bless \$x}
88 sub FETCH { return undef }
89 sub STORE { return 1 }
90 package main ;
91 tie $A, 'fred' ;
92 use warnings 'uninitialized' ;
93 $B = 0 ;
94 $B |= $A ;
95 no warnings 'uninitialized' ;
96 $B = 0 ;
97 $B |= $A ;
98 EXPECT
99 Use of uninitialized value $A in bitwise or (|) at - line 10.
100 ########
101 # sv.c
102 use warnings 'uninitialized' ;
103 my $Y = 1 ; 
104 my $x = 1 | $a[$Y] ;
105 no warnings 'uninitialized' ;
106 my $Y = 1 ; 
107 $x = 1 | $b[$Y] ;
108 EXPECT
109 Use of uninitialized value within @a in bitwise or (|) at - line 4.
110 ########
111 # sv.c
112 use warnings 'uninitialized' ;
113 my $Y = 1 ; 
114 my $x = 1 & $a[$Y] ;
115 no warnings 'uninitialized' ;
116 my $Y = 1 ; 
117 $x = 1 & $b[$Y] ;
118 EXPECT
119 Use of uninitialized value within @a in bitwise and (&) at - line 4.
120 ########
121 # sv.c
122 use warnings 'uninitialized' ;
123 my $Y = 1 ; 
124 my $x = ~$a[$Y] ;
125 no warnings 'uninitialized' ;
126 my $Y = 1 ; 
127 $x = ~$b[$Y] ;
128 EXPECT
129 Use of uninitialized value within @a in 1's complement (~) at - line 4.
130 ########
131 # sv.c
132 use warnings 'uninitialized' ;
133 my $x *= 1 ; # d
134 no warnings 'uninitialized' ;
135 my $y *= 1 ; # d
136 EXPECT
137 Use of uninitialized value $x in multiplication (*) at - line 3.
138 ########
139 # sv.c
140 use warnings 'uninitialized' ;
141 $x = 1 + $a[0] ; # e
142 no warnings 'uninitialized' ;
143 $x = 1 + $b[0] ; # e
144 EXPECT
145 Use of uninitialized value $a[0] in addition (+) at - line 3.
146 ########
147 # sv.c (sv_2nv)
148 package fred ;
149 sub TIESCALAR { my $x ; bless \$x}
150 sub FETCH { return undef }
151 sub STORE { return 1 }
152 package main ;
153 tie $A, 'fred' ;
154 use warnings 'uninitialized' ;
155 $A *= 2 ;
156 no warnings 'uninitialized' ;
157 $A *= 2 ;
158 EXPECT
159 Use of uninitialized value $A in multiplication (*) at - line 9.
160 ########
161 # sv.c
162 use warnings 'uninitialized' ;
163 $x = $y + 1 ; # f
164 no warnings 'uninitialized' ;
165 $x = $z + 1 ; # f
166 EXPECT
167 Use of uninitialized value $y in addition (+) at - line 3.
168 ########
169 # sv.c
170 use warnings 'uninitialized' ;
171 $x = chop undef ; # g
172 no warnings 'uninitialized' ;
173 $x = chop undef ; # g
174 EXPECT
175 Modification of a read-only value attempted at - line 3.
176 ########
177 # sv.c
178 use warnings 'uninitialized' ;
179 $x = chop $y ; # h
180 no warnings 'uninitialized' ;
181 $x = chop $z ; # h
182 EXPECT
183 Use of uninitialized value $y in scalar chop at - line 3.
184 ########
185 # sv.c (sv_2pv)
186 package fred ;
187 sub TIESCALAR { my $x ; bless \$x}
188 sub FETCH { return undef }
189 sub STORE { return 1 }
190 package main ;
191 tie $A, 'fred' ;
192 use warnings 'uninitialized' ;
193 $B = "" ;
194 $B .= $A ;
195 no warnings 'uninitialized' ;
196 $C = "" ;
197 $C .= $A ;
198 EXPECT
199 Use of uninitialized value $A in concatenation (.) or string at - line 10.
200 ########
201 # perlbug 20011116.125
202 use warnings 'uninitialized';
203 $a = undef;
204 $foo = join '', $a, "\n";
205 $foo = "$a\n";
206 $foo = "a:$a\n";
207 EXPECT
208 Use of uninitialized value $a in join or string at - line 4.
209 Use of uninitialized value $a in concatenation (.) or string at - line 5.
210 Use of uninitialized value $a in concatenation (.) or string at - line 6.
211 ########
212 # sv.c 
213 use warnings 'numeric' ;
214 sub TIESCALAR{bless[]} ; 
215 sub FETCH {"def"} ; 
216 tie $a,"main" ; 
217 my $b = 1 + $a;
218 no warnings 'numeric' ;
219 my $c = 1 + $a;
220 EXPECT
221 Argument "def" isn't numeric in addition (+) at - line 6.
222 ########
223 # sv.c
224 use warnings 'numeric' ;
225 my $x = 1 + "def" ;
226 no warnings 'numeric' ;
227 my $z = 1 + "def" ;
228 EXPECT
229 Argument "def" isn't numeric in addition (+) at - line 3.
230 ########
231 # sv.c
232 use warnings 'numeric' ;
233 my $a = "def" ;
234 my $x = 1 + $a ;
235 no warnings 'numeric' ;
236 my $y = 1 + $a ;
237 EXPECT
238 Argument "def" isn't numeric in addition (+) at - line 4.
239 ########
240 # sv.c
241 use warnings 'numeric' ; use integer ;
242 my $a = "def" ;
243 my $x = 1 + $a ;
244 no warnings 'numeric' ;
245 my $z = 1 + $a ;
246 EXPECT
247 Argument "def" isn't numeric in integer addition (+) at - line 4.
248 ########
249 # sv.c
250 use warnings 'numeric' ;
251 my $x = 1 & "def" ;
252 no warnings 'numeric' ;
253 my $z = 1 & "def" ;
254 EXPECT
255 Argument "def" isn't numeric in bitwise and (&) at - line 3.
256 ########
257 # sv.c
258 use warnings 'numeric' ;
259 my $x = pack i => "def" ;
260 no warnings 'numeric' ;
261 my $z = pack i => "def" ;
262 EXPECT
263 Argument "def" isn't numeric in pack at - line 3.
264 ########
265 # sv.c
266 use warnings 'numeric' ; 
267 my $a = "d\0f" ;
268 my $x = 1 + $a ;
269 no warnings 'numeric' ;
270 my $z = 1 + $a ;
271 EXPECT
272 Argument "d\0f" isn't numeric in addition (+) at - line 4.
273 ########
274 # sv.c
275 use warnings 'redefine' ;
276 sub fred {}  
277 sub joe {} 
278 *fred = \&joe ;
279 no warnings 'redefine' ;
280 sub jim {} 
281 *jim = \&joe ;
282 EXPECT
283 Subroutine main::fred redefined at - line 5.
284 ########
285 # sv.c
286 use warnings 'printf' ;
287 open F, ">".($^O eq 'VMS'? 'NL:' : '/dev/null') ;
288 printf F "%z\n" ;
289 my $a = sprintf "%z" ;
290 printf F "%" ;
291 $a = sprintf "%" ;
292 printf F "%\x02" ;
293 $a = sprintf "%\x02" ;
294 no warnings 'printf' ;
295 printf F "%z\n" ;
296 $a = sprintf "%z" ;
297 printf F "%" ;
298 $a = sprintf "%" ;
299 printf F "%\x02" ;
300 $a = sprintf "%\x02" ;
301 EXPECT
302 Invalid conversion in sprintf: "%z" at - line 5.
303 Invalid conversion in sprintf: end of string at - line 7.
304 Invalid conversion in sprintf: "%\002" at - line 9.
305 Invalid conversion in printf: "%z" at - line 4.
306 Invalid conversion in printf: end of string at - line 6.
307 Invalid conversion in printf: "%\002" at - line 8.
308 ########
309 # sv.c
310 use warnings 'misc' ;
311 *a = undef ;
312 no warnings 'misc' ;
313 *b = undef ;
314 EXPECT
315 Undefined value assigned to typeglob at - line 3.
316 ########
317 # sv.c
318 use warnings 'numeric' ;
319 $a = "\x{100}\x{200}" * 42;
320 no warnings 'numeric' ;
321 $a = "\x{100}\x{200}" * 42;
322 EXPECT
323 Argument "\x{100}\x{200}" isn't numeric in multiplication (*) at - line 3.
324 ########
325 # sv.c
326 use warnings 'numeric' ;
327 $a = "\x{100}\x{200}"; $a = -$a;
328 no warnings 'numeric' ;
329 $a = "\x{100}\x{200}"; $a = -$a;
330 EXPECT
331 Argument "\x{100}\x{200}" isn't numeric in negation (-) at - line 3.