Workaround 'condition (pred&1)==0 is always false' cppcheck false positive
authorIvan Maidanski <ivmai@mail.ru>
Wed, 14 Aug 2019 09:42:08 +0000 (12:42 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 14 Aug 2019 18:23:00 +0000 (21:23 +0300)
* backgraph.c [MAKE_BACK_GRAPH] (add_edge): Pass pred value via
COVERT_DATAFLOW() in ((word)pred&1)==0.

backgraph.c

index 7e33f42..d0d371f 100644 (file)
@@ -240,7 +240,7 @@ static void add_edge(ptr_t p, ptr_t q)
 
       if (((word)pred & FLAG_MANY) != 0) {
         n_edges = e -> n_edges;
-      } else if (((word)pred & 1) == 0) {
+      } else if (((word)COVERT_DATAFLOW(pred) & 1) == 0) {
         /* A misinterpreted freelist link.      */
         n_edges = 1;
         local = -1;