Forwarding to -hackers.
----- Forwarded Message -----
> From: Kevin Grittner <[email protected]>
> To: Tom Lane <[email protected]>
> Cc: "[email protected]" <[email protected]>
> Sent: Friday, November 8, 2013 3:19 PM
> Subject: Re: [COMMITTERS] pgsql: Fix blatantly broken record_image_cmp()
> logic for pass-by-value
>
> Tom Lane <[email protected]> wrote:
>
>> That is a serious compiler bug which you should file with your
>> distro forthwith.
>
> I distilled it down to the simplest case I could find which failed
> to produce the warning; attached. Do you agree that it is a
> compiler bug that this generates no warning?
>
> Compile lines used:
>
> 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 -D_GNU_SOURCE -c -o
> warning_test.o warning_test.c -MMD -MP
>
> clang -O2 -Wall -Wmissing-prototypes -Wpointer-arith
> -Wdeclaration-after-statement -Wendif-labels
> -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
> -fwrapv -g -D_GNU_SOURCE -c -o warning_test.o warning_test.c -MMD
> -MP
>
> It is probably significant that if I simplify the while loop
> condition to just use one variable I do get the warning.
>
>> It definitely does show up with what I'm using:
>> gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
>
> The warning shows up, or the bug does?
>
>> It might be worth trawling the buildfarm records to see which
>> compilers did or didn't warn before.
>
> I'll get this filed first with the version I'm using, then look
> around to see if there is anything else to report.
>
>
> --
> Kevin Grittner
> EDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
int test_warnings(int x, int y, int z);
int
test_warnings(int x, int y, int z)
{
int i;
switch (x)
{
case 1:
if (y != z)
{
i = (y < z) ? -1 : 1;
}
break;
case 2:
if (y != z)
{
i = (y < z) ? -1 : 1;
}
break;
default:
return 0;
}
return i;
}
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers