Re: Warning in the RecordTransactionAbort routine during compilation with O3 flag
Andrei Lepikhov <a.lepikhov@postgrespro.ru>
From: Andrey Lepikhov <a.lepikhov@postgrespro.ru>
To: Michael Paquier <michael@paquier.xyz>
Cc: PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2019-12-10T07:18:49Z
Lists: pgsql-bugs
10.12.2019 08:13, Michael Paquier wrote: > On Mon, Dec 09, 2019 at 02:03:43PM +0500, Andrey Lepikhov wrote: >> We already have assertion on the twophase_gid variable. But compiler is not >> so smart and can't find a link between the XACT_XINFO_HAS_GID flag and >> state of twophase_gid pointer. > > Well, gcc-9 got visibly smarter on that point :) > >> Ok. In accordance with your review, I have prepared a new version of the >> patch. > > Regarding formatting.c, I can see the point of avoiding future > mistakes, and I would go a bit further as per the attached for > consistency between all variables. have_error is a bit trickier > though as it gets moved around more layers so doing an initialization > in the middle is not really an option. Anyway, we can do that rather > cleanly from the entry point of do_to_timestamp() to bring more > consistency for variables which are always expected and the optional > ones. What do you think? I have small experience in formatting.c code. But this patch and idea looks good. > > For the second one in xact.c, I am not really on board of doing > something based on the proposals because this reduces the code > visibility, and gcc is clearly wrong in its assumptions because the > state cannot be reached. Ok. I switched to gcc-9 and now have no problem. -- Andrey Lepikhov Postgres Professional https://postgrespro.com The Russian Postgres Company
Commits
-
Fix some compiler warnings with timestamp parsing in formatting.c
- c341c7d391e2 13.0 landed