diff --git a/sv.c b/sv.c index b4d2fd705af4..2c337501bc6c 100644 --- a/sv.c +++ b/sv.c @@ -17532,6 +17532,8 @@ S_find_uninit_var(pTHX_ const OP *const obase, const SV *const uninit_sv, case OP_SYSOPEN: case OP_SYSSEEK: case OP_SPLICE: /* scalar splice(@x, $i, 0) ==> undef */ + case OP_REFADDR: + case OP_REFTYPE: match = 1; goto do_op; diff --git a/t/lib/warnings/9uninit b/t/lib/warnings/9uninit index 38d49942a670..4ca08684a020 100644 --- a/t/lib/warnings/9uninit +++ b/t/lib/warnings/9uninit @@ -2303,3 +2303,12 @@ Use of uninitialized value shift(@ARGV) in lc at - line 26. Use of uninitialized value shift() in lc at - line 27. Use of uninitialized value pop(@ARGV) in lc at - line 28. Use of uninitialized value pop() in lc at - line 29. +######## +# GH #19273 +use warnings 'uninitialized'; +my $x = 'fine'; +$_ = builtin::refaddr($x) == 1; +$_ = builtin::reftype($x) eq ''; +EXPECT +Use of uninitialized value in numeric eq (==) at - line 4. +Use of uninitialized value in string eq at - line 5.