[Tarantool-patches] [PATCH luajit] test: fix libfficcall compilation for old GCC

Sergey Kaplun skaplun at tarantool.org
Tue Jun 9 21:00:10 MSK 2026


Sergey,
Thanks for the review!
Fixed your comment and force-pushed the branch.

On 09.06.26, Sergey Bronnikov wrote:
> Hello, Sergey,
> 
> Thanks for the patch! LGTM with a minor comment.
> 
> Sergey
> 
> On 6/8/26 13:23, Sergey Kaplun wrote:
> > On CentOS 7 GCC has no std=c99 by default. This leads to compilation
> > warnings and errors for ‘for’ loop initial declarations. This patch
> > fixes that by declaring the variable out of the loop body.
> > ---
> >
> > Branch:https://github.com/tarantool/luajit/tree/skaplun/gh-noticket-fix-tests-old-gcc
> > CI failure:https://github.com/tarantool/luajit/actions/runs/27124968515/job/80063067169#step:6:10593
> >
> >   test/tarantool-tests/ffi-ccall/libfficcall.c | 3 ++-
> >   1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/test/tarantool-tests/ffi-ccall/libfficcall.c b/test/tarantool-tests/ffi-ccall/libfficcall.c
> > index 2145b556..129bc75d 100644
> > --- a/test/tarantool-tests/ffi-ccall/libfficcall.c
> > +++ b/test/tarantool-tests/ffi-ccall/libfficcall.c
> > @@ -307,7 +307,8 @@ int test_2_large_agg_a16(int x, large_agg_a16 s1, large_agg_a16 s2)
> >   	const int *v1 = s1.v;
> >   	const int *v2 = s2.v;
> >   	int sum = x;
> > -	for (int i = 0; i < lengthof(s1.v); i++) {
> > +	int i = 0;
> > +	for (; i < lengthof(s1.v); i++) {
> 
> isn't better declaring outside the loop and define in a loop?
> 
> int i;
> for (i = 0; i < lengthof(s1.v); i++) {
> 
> It looks more familiar this way. Feel free to ignore.

Fixed:

===================================================================
diff --git a/test/tarantool-tests/ffi-ccall/libfficcall.c b/test/tarantool-tests/ffi-ccall/libfficcall.c
index 129bc75d..85d76436 100644
--- a/test/tarantool-tests/ffi-ccall/libfficcall.c
+++ b/test/tarantool-tests/ffi-ccall/libfficcall.c
@@ -307,8 +307,8 @@ int test_2_large_agg_a16(int x, large_agg_a16 s1, large_agg_a16 s2)
         const int *v1 = s1.v;
         const int *v2 = s2.v;
         int sum = x;
-        int i = 0;
-        for (; i < lengthof(s1.v); i++) {
+        int i;
+        for (i = 0; i < lengthof(s1.v); i++) {
                 sum += v1[i] + v2[i];
         }
         return sum;
===================================================================

> 
> >   		sum += v1[i] + v2[i];
> >   	}
> >   	return sum;

-- 
Best regards,
Sergey Kaplun


More information about the Tarantool-patches mailing list