From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id C66FD24C14 for ; Thu, 12 Sep 2019 16:03:07 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2xMGuVV8BNnX for ; Thu, 12 Sep 2019 16:03:07 -0400 (EDT) Received: from smtp37.i.mail.ru (smtp37.i.mail.ru [94.100.177.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 3154D24C0D for ; Thu, 12 Sep 2019 16:03:07 -0400 (EDT) Date: Thu, 12 Sep 2019 23:02:49 +0300 From: Alexander Turenko Subject: [tarantool-patches] Re: [PATCH v1 1/1] box: fix compilation with old gcc Message-ID: <20190912200249.f44mhy56jooqmhnb@tkn_work_nb> References: <740f63cb096b85d45d39de0cf8a52752fe4de7ce.1568041833.git.kshcherbatov@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <740f63cb096b85d45d39de0cf8a52752fe4de7ce.1568041833.git.kshcherbatov@tarantool.org> Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-Help: List-Unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-Subscribe: List-Owner: List-post: List-Archive: To: Kirill Shcherbatov Cc: tarantool-patches@freelists.org, Kirill Yukhin , "Alexander V. Tikhonov" I have no objections, the commit looks safe. LGTM. However I pushed the same commit to kshch/gh-4438-gcc-4-build-fixup-full-ci to test on all targets just in case. All CI jobs are green. CCed Kirill Yukhin to push. CCed Alexander Tikhonov to elaborate whether we can protect ourself from such mistakes in the future. issue: https://github.com/tarantool/tarantool/issues/4438 branch: https://github.com/tarantool/tarantool/tree/kshch/gh-4438-gcc-4-build-fixup WBR, Alexander Turenko. On Mon, Sep 09, 2019 at 06:11:46PM +0300, Kirill Shcherbatov wrote: > LTO build fails on warning message: Usual Debug build fails too with gcc-4.8.5. > 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, As I see you already added the issue number here (on the branch kshch/gh-4438-gcc-4-build-fixup), that is good. > --- > 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 f6a33282c..6a6cc584f 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); > -- > 2.23.0 >