Forwarding to -hackers.


----- Forwarded Message -----
> From: Kevin Grittner <kgri...@ymail.com>
> To: Tom Lane <t...@sss.pgh.pa.us>
> Cc: "pgsql-committ...@postgresql.org" <pgsql-committ...@postgresql.org>
> 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 <t...@sss.pgh.pa.us> 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 (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to