]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
expr_is_guardable doesn't handle Iex_Qop
authorMark Wielaard <mark@klomp.org>
Tue, 22 Dec 2020 13:51:15 +0000 (14:51 +0100)
committerMark Wielaard <mark@klomp.org>
Tue, 22 Dec 2020 13:55:28 +0000 (14:55 +0100)
IRExpr_Qop uses the Iex_Qop tag, which expr_is_guardable didn't handle.

https://bugs.kde.org/show_bug.cgi?id=430485

NEWS
VEX/priv/guest_generic_bb_to_IR.c

diff --git a/NEWS b/NEWS
index 9dae3a2702c1adb4790a8a22cc68fb774031d361..c1de304ee7f075663c34984a6dab57f7d0ff861e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -80,6 +80,7 @@ n-i-bz  helgrind: If hg_cli__realloc fails, return NULL.
 429864  s390x: C++ atomic test_and_set yields false-positive memcheck
         diagnostics
 430354  ppc stxsibx and stxsihx instructions write too much data
+430485  expr_is_guardable doesn't handle Iex_Qop
 
 Release 3.16.1 (?? June 2020)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
index 0cee970e436e360a9ed10bf782fbcc6b33d0c373..1e72ddacd6a850ce4658e874d10596eaac62204a 100644 (file)
@@ -422,6 +422,8 @@ static Bool expr_is_guardable ( const IRExpr* e )
          return !primopMightTrap(e->Iex.Binop.op);
       case Iex_Triop:
          return !primopMightTrap(e->Iex.Triop.details->op);
+      case Iex_Qop:
+         return !primopMightTrap(e->Iex.Qop.details->op);
       case Iex_ITE:
       case Iex_CCall:
       case Iex_Get: