Thread: Re: Replace plain-memory ordered array by binary tree in ts_stat() function.

Re: Replace plain-memory ordered array by binary tree in ts_stat() function.

From
Peter Eisentraut
Date:
The patch mentioned in the subject leaves this compiler warning:

tsvector_op.c: In function ‘insertStatEntry’:
tsvector_op.c:815: warning: ‘res’ may be used uninitialized in this function

I took a quick look but it is not immediately obvious whether the 
compiler might actually have a point here.  Could you please fix this?


Re: Re: Replace plain-memory ordered array by binary tree in ts_stat() function.

From
Teodor Sigaev
Date:
Fixed, but my gcc didn't emit such message.

> The patch mentioned in the subject leaves this compiler warning:
> 
> tsvector_op.c: In function ‘insertStatEntry’:
> tsvector_op.c:815: warning: ‘res’ may be used uninitialized in this 
> function

-- 
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
  WWW: http://www.sigaev.ru/
 


Teodor Sigaev <teodor@sigaev.ru> writes:
> Fixed, but my gcc didn't emit such message.

That's not actually too surprising.  gcc's "uninitialized variable"
analysis is per-function, which means that its scope can change
depending on how much inlining the compiler chooses to do.
So you can see different warnings at different -O levels or on
different platforms.

Also, I think you don't get any such warnings at all at -O0 ...
which is why I always use at least -O1 even in debug builds.
        regards, tom lane