diff options
author | David Mitchell <davem@iabyn.com> | 2014-12-21 00:00:10 +0000 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2014-12-31 11:28:51 +0000 |
commit | cbb52ffe38ad57101631b748bc04127568f728e2 (patch) | |
tree | 6732651e829642e01f6a8770b68026362d8c4d39 /asan_ignore | |
parent | 53e2bfb7c6a2e8a3171dabe7dbdc24eba77e4bf0 (diff) | |
download | perl-cbb52ffe38ad57101631b748bc04127568f728e2.tar.gz |
asan_ignore: exclude Perl_pp_left_shift()
<< in perl maps directly to << in C, so don't warn about it when the RHS
is too big.
Fixes e.g.:
print 1 << 64
use integer; print 1 << 63
Typical ASan warning:
pp.c:1893:2: runtime error: left shift of 1 by 63 places cannot be represented in type 'IV' (aka 'long')
Diffstat (limited to 'asan_ignore')
-rw-r--r-- | asan_ignore | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/asan_ignore b/asan_ignore index 5a8bc5c7f9..4a1dc83870 100644 --- a/asan_ignore +++ b/asan_ignore @@ -17,3 +17,9 @@ # nor =signed-integer-overflow worked. fun:Perl_pp_i_* + +# Perl's << is defined as using the underlying C's << operator, with the +# same undefined behaviour for shifts greater than the word size. +# (UVs normally, IVs with 'use integer') + +fun:Perl_pp_left_shift |