This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #44895] += warning on uninit magic var
authorFather Chrysostomos <sprout@cpan.org>
Mon, 9 Jan 2012 20:46:01 +0000 (12:46 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Mon, 9 Jan 2012 21:24:03 +0000 (13:24 -0800)
commit6b349a5c4c70a7c99eeaabacafc3ea993f2c7869
tree6c873f46bdfbba9d2584bed44c217114ae36b54b
parent10cca365fcca0349c1d46c3a7ac05f425585739f
[perl #44895] += warning on uninit magic var

The only uses of USE_LEFT in core now occur when SvGETMAGIC has
already been called.  So returning true for magical SVs is not neces-
sary.  In fact, it was never correct.

Also, the code in do_vop (which handles bitwise operations on strings)
to avoid an uninitialized warning had the same buggy SvGMAGICAL check.

Now, the warning from $uninit += 1 is suppressed for all undefined
vars, not just amagical ones.

This causes 6 to-do tests in assignwarn.t to pass.
doop.c
pp.h
t/op/assignwarn.t