From 9701200430bb0b83c9bbad1b1b4df306486901a8 Mon Sep 17 00:00:00 2001 From: Kirill Shcherbatov <kshcherbatov@tarantool.org> Date: Mon, 9 Sep 2019 18:06:33 +0300 Subject: [PATCH] box: fix compilation with old gcc LTO build fails on warning message: In file included from /tarantool/src/lib/core/diag.h:33:0, from /tarantool/src/box/engine.h:36, from /tarantool/src/box/memtx_engine.h:40, from /tarantool/src/box/memtx_engine.c:31: /tarantool/src/box/memtx_engine.c: In function 'metmx_tuple_chunk_delete': /tarantool/src/trivia/util.h:201:49: error: initialization from incompatible pointer type [-Werror] const typeof( ((type *)0)->member ) *__mptr = (ptr); \ ^ /tarantool/src/box/memtx_engine.c:1115:3: note: in expansion of macro 'container_of' container_of((typeof(tuple_chunk->data) *)data, ^ /tarantool/src/trivia/util.h:201:49: error: (near initialization for 'tuple_chunk') [-Werror] const typeof( ((type *)0)->member ) *__mptr = (ptr); \ ^ /tarantool/src/box/memtx_engine.c:1115:3: note: in expansion of macro 'container_of' container_of((typeof(tuple_chunk->data) *)data, Closes #4438 --- src/box/memtx_engine.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/box/memtx_engine.c b/src/box/memtx_engine.c index f6a33282cb..6a6cc584f5 100644 --- a/src/box/memtx_engine.c +++ b/src/box/memtx_engine.c @@ -1112,7 +1112,7 @@ metmx_tuple_chunk_delete(struct tuple_format *format, const char *data) { struct memtx_engine *memtx = (struct memtx_engine *)format->engine; struct tuple_chunk *tuple_chunk = - container_of((typeof(tuple_chunk->data) *)data, + container_of((const char (*)[0])data, struct tuple_chunk, data); uint32_t sz = tuple_chunk_sz(tuple_chunk->data_sz); smfree(&memtx->alloc, tuple_chunk, sz); -- GitLab