From: Ivan Maidanski Date: Tue, 28 Feb 2017 22:25:34 +0000 (+0300) Subject: Eliminate 'checking unsigned variable < 0' cppcheck warning in gc_inline X-Git-Tag: v8.0.0~898 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=64bed186fc1ca9a654c9bca063089f5b7ead87be;p=platform%2Fupstream%2Flibgc.git Eliminate 'checking unsigned variable < 0' cppcheck warning in gc_inline * include/gc_inline.h (GC_FAST_MALLOC_GRANS): Replace (word)my_entry<=num_direct with (signed_word)my_entry-num_direct<=0 to avoid "checking unsigned var < 0" warning if num_direct==0 (no overflow is expected in (signed_word)my_entry-num_direct as it is guaranteed that (word)my_entry<=num_direct+GC_TINY_FREELISTS+1). --- diff --git a/include/gc_inline.h b/include/gc_inline.h index 4934aee..f0d8189 100644 --- a/include/gc_inline.h +++ b/include/gc_inline.h @@ -121,7 +121,9 @@ GC_API GC_ATTR_MALLOC GC_ATTR_ALLOC_SIZE(1) void * GC_CALL break; \ } \ /* Entry contains counter or NULL */ \ - if ((GC_word)my_entry <= (num_direct) && my_entry != 0) { \ + if ((GC_signed_word)my_entry - (GC_signed_word)(num_direct) <= 0 \ + /* (GC_word)my_entry <= (num_direct) */ \ + && my_entry != NULL) { \ /* Small counter value, not NULL */ \ *my_fl = (char *)my_entry + (granules) + 1; \ result = (default_expr); \