From: | Kevin Grittner <kgrittn(at)ymail(dot)com> |
---|---|
To: | Bruce Momjian <bruce(at)momjian(dot)us> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org> |
Subject: | Re: Record comparison compiler warning |
Date: | 2013-10-31 19:51:53 |
Message-ID: | 1383249113.26825.YahooMailNeo@web162902.mail.bf1.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Bruce Momjian <bruce(at)momjian(dot)us> wrote:
> On Wed, Oct 16, 2013 at 11:49:13AM -0700, Kevin Grittner wrote:
>> Bruce Momjian <bruce(at)momjian(dot)us> wrote:
>>
>>> I am seeing this compiler warning in git head:
>>>
>>> rowtypes.c: In function 'record_image_cmp':
>>> rowtypes.c:1433: warning: 'cmpresult' may be used
>>> uninitialized in this function rowtypes.c:1433: note: 'cmpresult' was declared here
>>
>> I had not gotten a warning under either gcc or clang, but that was
>> probably because I was doing assert-enabled builds, and the
>> Assert(false) saved me. That seemed a little marginal anyway, so
>> how about this?:
>
> Would you please send the file as ASCII, e.g. not:
>
> <A0><A0><A0><A0><A0><A0><A0><A0><A0><A0><A0><A0><A0><A0><A0><A0><A0><A0><A0> default:
Huh, I did not see anything remotely like that in my email or in
the archives:
http://www.postgresql.org/message-id/1381949353.78943.YahooMailNeo@web162902.mail.bf1.yahoo.com
... however, I'm attaching it rather than pasting it this time. It is warning-recimgcmp.diff.
I'm also attaching the other warnings (outside of the well-known
yyg parser warning) which I get from a compile using Ubuntu clang
version 3.0-6ubuntu3. The one in pg_standby seems completely
legitimate -- what is the point of comparing to see whether an
unsigned integer is >= 0? The other one would be nice to quiet
down, but I would understand if people would prefer to leave it
alone and hope the compiler writers fix it. Warnings those fix
below:
catcache.c:571:12: warning: variable 'cl' is uninitialized when used here [-Wuninitialized]
Assert(cl->cl_magic == CL_MAGIC);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../src/include/c.h:625:10: note: expanded from:
Trap(!(condition), "FailedAssertion")
^
../../../../src/include/c.h:607:28: note: expanded from:
if ((assert_enabled) && (condition)) \
^~~~~~~~~
catcache.c:569:5: note: variable 'cl' is declared here
CatCList *cl = dlist_container(CatCList, cache_elem, iter.cur);
^
catcache.c:585:13: warning: variable 'ct' is uninitialized when used here [-Wuninitialized]
Assert(ct->ct_magic == CT_MAGIC);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../src/include/c.h:625:10: note: expanded from:
Trap(!(condition), "FailedAssertion")
^
../../../../src/include/c.h:607:28: note: expanded from:
if ((assert_enabled) && (condition)) \
^~~~~~~~~
catcache.c:583:6: note: variable 'ct' is declared here
CatCTup *ct = dlist_container(CatCTup, cache_elem, iter.cur);
^
2 warnings generated.
pg_standby.c:348:22: warning: comparison of unsigned expression >= 0 is always true [-Wtautological-compare]
if (tli > 0 && log >= 0 && seg > 0)
~~~ ^ ~
1 warning generated.
None of these seem particularly urgent, so I'll leave them for
comment for maybe a week before taking any action.
--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Attachment | Content-Type | Size |
---|---|---|
warning-recimgcmp.diff | text/x-diff | 573 bytes |
warning-catcache.diff | text/x-diff | 917 bytes |
warning-standby.diff | text/x-diff | 494 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Joe Love | 2013-10-31 19:53:46 | Feature request: Optimizer improvement |
Previous Message | Payal Singh | 2013-10-31 19:49:06 | Review: Patch FORCE_NULL option for copy COPY in CSV mode |