summaryrefslogtreecommitdiff
path: root/asan_ignore
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2014-12-21 00:00:10 +0000
committerDavid Mitchell <davem@iabyn.com>2014-12-31 11:28:51 +0000
commitcbb52ffe38ad57101631b748bc04127568f728e2 (patch)
tree6732651e829642e01f6a8770b68026362d8c4d39 /asan_ignore
parent53e2bfb7c6a2e8a3171dabe7dbdc24eba77e4bf0 (diff)
downloadperl-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_ignore6
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