[Tarantool-patches] [PATCH] test: fix warning for old gcc at testgetmetrics.c

Alexander V. Tikhonov avtikhon at tarantool.org
Tue Oct 20 18:17:49 MSK 2020


Hi Sergey, thanks for the patch. I've checked your fix and it really
helped with building using gcc-4.8.5 with Werror flag [1]. Also no new
degradations occurred [2]. Patch LGTM.

[1] - https://gitlab.com/tarantool/tarantool/-/jobs/801762908
[2] - https://gitlab.com/tarantool/tarantool/-/pipelines/205243134

On Tue, Oct 20, 2020 at 03:59:10PM +0300, Sergey Kaplun wrote:
> Sergos, Igor,
> 
> Thanks for the review!
> 
> On 20.10.20, Sergey Ostanevich wrote:
> > Hi!
> > 
> > The patch is LGTM, wording in the commit message still needs updates
> > (the latest branch log below).
> > 
> > Sergos
> > 
> > > commit 7a4c686e61bb70defe56e4e823ae09ce98c8dc04 (HEAD -> skaplun/gh-5187-old-gcc-warning, origin/skaplun/gh-5187-old-gcc-warning)
> > > Author: Sergey Kaplun <skaplun at tarantool.org>
> > > Date:   Sat Oct 17 09:13:07 2020 +0300
> > > 
> > >     test: fix warning for old gcc at testgetmetrics.c
> > > 
> > >     This patch fixes the regression introduced in scope of
> > >     5a61e1ab54b5c66bfebd836db1ac47996611e065 ('misc: add C and Lua
> > >     API for platform metrics').
> > > 
> > >     Old gcc compiler (gcc-4.8.5-39) throws warnings like:
> > >     "error: comparison is always true due to limited range of data type
> > >     [-Werror=type-limits]", when you cast syze_t value to ssyze_t type and
> > 
> > size instead of syze
> 
> Thanks, fixed!
> 
> > 
> > >     compare its to >= 0. This leads to failing compilation with -Werror
> > 
> > compare it, not its
> 
> Thanks, fixed.
> 
> > 
> > >     flag.
> > > 
> > >     Taking into account that this base test check only API format, not
> > >     values by themself, it will be enough to use (void) construction here.
> > 
> > by themself -> themselves
> 
> Thanks, fixed!
> 
> > 
> > > 
> > >     Follows up tarantool/tarantool#5187
> > > 
> > 
> 
> So, new commit message is:
> 
> ===================================================================
> test: fix warning for old gcc at testgetmetrics.c
> 
> This patch fixes the regression introduced in scope of
> 5a61e1ab54b5c66bfebd836db1ac47996611e065 ('misc: add C and Lua
> API for platform metrics').
> 
> Old gcc compiler (gcc-4.8.5-39) throws warnings like:
> "error: comparison is always true due to limited range of data type
> [-Werror=type-limits]", when you cast size_t value to ssize_t type and
> compare it to >= 0. This leads to failing compilation with -Werror
> flag.
> 
> Taking into account that this base test checks only API format, not
> values by themselves, it will be enough to use (void) construction here.
> 
> Follows up tarantool/tarantool#5187
> ===================================================================
> 
> Also updated comment. See iterative patch below. Branch is force
> pushed.
> 
> ===================================================================
> diff --git a/test/misclib-getmetrics-capi/testgetmetrics.c b/test/misclib-getmetrics-capi/testgetmetrics.c
> index fc19680..7fd3eef 100644
> --- a/test/misclib-getmetrics-capi/testgetmetrics.c
> +++ b/test/misclib-getmetrics-capi/testgetmetrics.c
> @@ -12,7 +12,7 @@ static int base(lua_State *L)
>          struct luam_Metrics metrics;
>          luaM_metrics(L, &metrics);
>  
> -        /* Just check API, not values by itself. */
> +        /* Just check structure format, not values that fields contain. */
>          (void)metrics.strhash_hit;
>          (void)metrics.strhash_miss;
>  
> ===================================================================
> 
> -- 
> Best regards,
> Sergey Kaplun


More information about the Tarantool-patches mailing list