Re: Warning in the RecordTransactionAbort routine during compilation with O3 flag

Andrey Lepikhov <[email protected]>
Newsgroups gmane.comp.db.postgresql.bugs
Organization Postgres Professional
Message-ID <[email protected]>

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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.