Re: pgsql: Fix blatantly broken record_image_cmp() logic for pass-by-value

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Kevin Grittner <kgrittn(at)ymail(dot)com>
Cc: "pgsql-committers(at)postgresql(dot)org" <pgsql-committers(at)postgresql(dot)org>
Subject: Re: pgsql: Fix blatantly broken record_image_cmp() logic for pass-by-value
Date: 2013-11-08 18:43:14
Message-ID: 23093.1383936194@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Kevin Grittner <kgrittn(at)ymail(dot)com> writes:
> Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Kevin Grittner <kgrittn(at)ymail(dot)com> writes:
>>> I don't get a warning on this with either of these compilers,
>>> either with or without asserts enabled:

>> Perhaps you built with -O0? At least in older versions of gcc, you need
>> at least -O1 to get uninitialized-variable warnings.

> This is with default configure and compile options, which results
> in this:

> gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I../../../../src/include -D_GNU_SOURCE -I/usr/include/libxml2 -c -o rowtypes.o rowtypes.c -MMD -MP -MF .deps/rowtypes.Po

> ... It is pretty disturbing that the compilers in my
> Linux distro don't recognize that as leaving the value
> uninitialized.

That is a serious compiler bug which you should file with your distro
forthwith. It definitely does show up with what I'm using:
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
It might be worth trawling the buildfarm records to see which compilers
did or didn't warn before.

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2013-11-08 20:02:30 pgsql: Fix pg_isolation_regress to work outside its build directory.
Previous Message Kevin Grittner 2013-11-08 18:19:53 Re: pgsql: Fix blatantly broken record_image_cmp() logic for pass-by-value

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2013-11-08 19:23:48 Re: Protocol forced to V2 in low-memory conditions?
Previous Message Tom Lane 2013-11-08 18:38:28 Re: Fix picksplit with nan values