Tarantool development patches archive
 help / color / mirror / Atom feed
From: Alexander Turenko <alexander.turenko@tarantool.org>
To: Kirill Shcherbatov <kshcherbatov@tarantool.org>
Cc: tarantool-patches@freelists.org,
	Kirill Yukhin <kyukhin@tarantool.org>,
	"Alexander V. Tikhonov" <avtikhon@tarantool.org>
Subject: [tarantool-patches] Re: [PATCH v1 1/1] box: fix compilation with old gcc
Date: Thu, 12 Sep 2019 23:02:49 +0300	[thread overview]
Message-ID: <20190912200249.f44mhy56jooqmhnb@tkn_work_nb> (raw)
In-Reply-To: <740f63cb096b85d45d39de0cf8a52752fe4de7ce.1568041833.git.kshcherbatov@tarantool.org>

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
> 

  reply	other threads:[~2019-09-12 20:03 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-09 15:11 [tarantool-patches] " Kirill Shcherbatov
2019-09-12 20:02 ` Alexander Turenko [this message]
2019-09-13  8:08 ` [tarantool-patches] " Kirill Yukhin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190912200249.f44mhy56jooqmhnb@tkn_work_nb \
    --to=alexander.turenko@tarantool.org \
    --cc=avtikhon@tarantool.org \
    --cc=kshcherbatov@tarantool.org \
    --cc=kyukhin@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --subject='[tarantool-patches] Re: [PATCH v1 1/1] box: fix compilation with old gcc' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox